强制NuGet在4.5项目中引用.net框架4.0程序集?

时间:2015-06-11 13:26:49

标签: nuget

我的解决方案中有两个项目 - 一个目标是.net 4.0,另一个目标是.net 4.5。它们都引用了包含4.0和4.5二进制文件的相同NuGet包。

如何让NuGet在两个项目中引用相同版本 - 4.0 -

1 个答案:

答案 0 :(得分:0)

您可以排除不需要的框架文件夹(ExcludeAssets),并在项目中编辑PackageTargetFallback

在项目的csproj文件中:

<PackageTargetFallback Condition="'$(TargetFramework)'=='net45'">
    $(PackageTargetFallback);net40
</PackageTargetFallback >

引用程序包时:

<PackageReference Include={package-ID} Version={version} ExcludeAssets="lib/$(TargetFramework)"/>

这样,软件包将不会带来您不需要的二进制文件,并且您想要的二进制文件将是兼容的。

注意:不建议采用其他目标框架的dll。