我的解决方案中有两个项目 - 一个目标是.net 4.0,另一个目标是.net 4.5。它们都引用了包含4.0和4.5二进制文件的相同NuGet包。
如何让NuGet在两个项目中引用相同版本 - 4.0 -
答案 0 :(得分:0)
您可以排除不需要的框架文件夹(ExcludeAssets
),并在项目中编辑PackageTargetFallback
。
在项目的csproj文件中:
<PackageTargetFallback Condition="'$(TargetFramework)'=='net45'">
$(PackageTargetFallback);net40
</PackageTargetFallback >
引用程序包时:
<PackageReference Include={package-ID} Version={version} ExcludeAssets="lib/$(TargetFramework)"/>
这样,软件包将不会带来您不需要的二进制文件,并且您想要的二进制文件将是兼容的。
注意:不建议采用其他目标框架的dll。