我在我的解决方案两个项目 - 一个面向.NET 4.0,其他目标.NET 4.5。他们都引用其中同时包含4.0和4.5的二进制文件相同的NuGet包。
我怎样才能得到的NuGet引用同一个版本 - 4.0 - 在这两个项目?
您可以排除你不想使用(ExcludeAssets
),并在你的项目中编辑PackageTargetFallback
框架的文件夹中。
在您的项目的csproj文件:
<PackageTargetFallback Condition="'$(TargetFramework)'=='net45'">
$(PackageTargetFallback);net40
</PackageTargetFallback >
当引用包:
<PackageReference Include={package-ID} Version={version} ExcludeAssets="lib/$(TargetFramework)"/>
这样的包不会带给你不想要的二进制文件,并且希望的将是兼容的。
注:以动态链接库具有不同的目标框架是不推荐。