web-dev-qa-db-ja.com

ビルド出力にNugetの依存関係を含めますか?

MEFを使用して実行時に拡張機能をロードできるモジュール式の.NETコアアプリケーションを構築しています。私は2つのプロジェクトを持っています。1つは実行時にロードできるようにしたいライブラリで、次にロードを実行するメインアプリケーションがあります。

私のライブラリプロジェクトにはいくつかのNuget依存関係があります。実行時にライブラリを読み込むには、実行時にライブラリの隣でこれらのNuget依存関係を使用できるようにする必要がありますが、VS2017を使用してビルドすると、これらのNuget DLLが出力の一部として含まれません。

ライブラリをビルドするときにNuget DLLを含めるにはどうすればよいですか?

編集:dotnet publishおよびdotnet packですが、どちらも私にDLLを含むnupkgファイルだけを作成し、それに必要なnuget DLLは含めません。また、実行時にnupkgファイルを非常に簡単にロードできません。そのため、結果のアセンブリ自体を自分で取得したいのです。

それは価値があるもののために、これは私のcsprojがどのように見えるかです:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <AssemblyName>JSON.plugin</AssemblyName>
    <IncludeBuiltProjectOutputGroup>true</IncludeBuiltProjectOutputGroup>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Composition" Version="1.0.31" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\BDDGen.Types\BDDGen.Types.csproj" />
  </ItemGroup>

</Project>
13
ldam

ビルドプロセスで、参照されているすべてのdllファイルをNuGetパッケージからキャッシュフォルダーからビルド出力にコピーするには、このプロパティを<PropertyGroup>

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
29
Martin Ullrich