我正在尝试为.NET的多个框架版本提供我的库(4.0与该问题有关)。
我的库需要异步/等待支持,因此需要nuget包“ Microsoft.Bcl.Async”。但是我只想在.NET 4.0版本中引用它,而在> = .NET 4.5中不希望引用它
有没有简单的方法可以实现这个目标?
答案 0 :(得分:4)
根据编译器标志/目标框架安装nuget软件包
要解决此问题,可以在项目文件中使用PackageReference
代替packages.config
。
Tools
-> Options
-> NuGet Package Manager
-> General->Package Management
-> PackageReference
然后将nuget包添加到项目中,我们可以向nuget包添加PackageReference
条件,例如:
<ItemGroup>
<!-- ... -->
<PackageReference Include="Microsoft.Bcl.Async" Version="1.0.168" Condition="'$(TargetFramework)' == 'net40'" />
<!-- ... -->
</ItemGroup>
查看文档Adding a PackageReference condition,了解更多详细信息。