在我的构建输出中包含 Nuget 依赖项?

Include Nuget dependencies in my build output?

我正在构建一个模块化的 .NET 核心应用程序,它可以使用 MEF 在运行时加载扩展。我有 2 个项目,一个是我希望能够在运行时加载的库,然后我有一个将执行加载的主应用程序。

我的库项目有一些 Nuget 依赖项。为了在运行时加载我的库,我需要那些 Nuget 依赖项在运行时在库旁边可用,但是使用 VS2017 构建不包括这些 Nuget DLL 作为输出的一部分。

如何在构建库时包含 Nuget DLL?

编辑:我尝试了 dotnet publishdotnet pack,但这两个都使我成为一个 nupkg 文件,只包含我的 DLL 而不是我需要的 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>

为了使构建过程将所有引用的 dll 文件从缓存文件夹中的 NuGet 包复制到构建输出中,在 <PropertyGroup>:

中设置此 属性
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>