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

标签 c# visual-studio .net-core visual-studio-2017 mef

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

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

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

编辑:我试过 dotnet publishdotnet pack,但这两个都让我成为一个 nupkg 文件,只包含我的 DLL 而不是我需要的 nuget DLL。另外,我不能很容易地在运行时加载 nupkg 文件,这就是为什么我想自己获取生成的程序集。

就其值(value)而言,这就是我的 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>

最佳答案

为了让构建过程从缓存文件夹中的 NuGet 包中复制所有引用的 dll 文件到构建输出中,在 <PropertyGroup> 中设置此属性。 :

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

关于c# - 在我的构建输出中包含 Nuget 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45464271/

相关文章:

c# - startup.cs的Configure方法中如何使用ConfigurationBinder

c++ - 使用 C++ 的 XCode、Visual Studio 和 GitHub

用于 C++ 的 C# 包装器,但仅编译为静态库

c# - 当在 Visual Studio 中调试并且你想要单步执行一个过程时

c# - 如何在 ASP.NET Core 中添加 Mime 类型

c# - .Net Core Integration TestServer 与 Generic IHostBuilder

c# - 使用 appsettings.json 配置 Serilog RollingFile

c# - 如何在asp.net中的按钮单击事件中给出提示消息&之后将页面重定向到另一个页面

c# - 如何将json字典序列化/反序列化为数组

c# - 使用BackGroundWorker的错误处理条件失败