本文介绍了是否在我的生成输出中包含Nuget依赖项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在构建一个模块化的.NET核心应用程序,它可以在运行时使用MEF加载扩展。我有两个项目,一个是我希望能够在运行时加载的库,然后我有将执行加载的主应用程序。
我的库项目有一些Nuget依赖项。为了在运行时加载库,我需要这些Nuget依赖项在运行时库旁边可用,但是使用VS2017构建时不会将这些Nuget DLL作为输出的一部分。
如何在生成库时包含Nuget DLL?
编辑:我尝试了dotnet publish
和dotnet 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.TypesBDDGen.Types.csproj" />
</ItemGroup>
</Project>
推荐答案
若要使生成过程将缓存文件夹中NuGet包中引用的所有dll文件复制到生成输出中,请在<PropertyGroup>
中设置此属性:
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
这篇关于是否在我的生成输出中包含Nuget依赖项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!