我的解决方案中有两个项目 - 一个目标是.net 4.0,另一个目标是.net 4.5 . 它们都引用同一个包含4.0和4.5二进制文件的NuGet包 .
如何让NuGet引用相同的版本 - 4.0 - 在 both projects?
您可以排除不想使用的框架文件夹( ExcludeAssets ),并在项目中编辑 PackageTargetFallback .
ExcludeAssets
PackageTargetFallback
在项目的csproj文件中:
<PackageTargetFallback Condition="'$(TargetFramework)'=='net45'"> $(PackageTargetFallback);net40 </PackageTargetFallback >
引用包时:
<PackageReference Include={package-ID} Version={version} ExcludeAssets="lib/$(TargetFramework)"/>
这样包就不会带来你不想要的二进制文件,而你想要的二进制文件也是兼容的 .
Note :不建议使用不同目标框架的dll .
1 回答
您可以排除不想使用的框架文件夹(
ExcludeAssets
),并在项目中编辑PackageTargetFallback
.在项目的csproj文件中:
引用包时:
这样包就不会带来你不想要的二进制文件,而你想要的二进制文件也是兼容的 .
Note :不建议使用不同目标框架的dll .