我有一个针对.NET Framework 4.5的项目P
,它有一个针对4.0的NuGet包A
(它没有4.5)。现在,A
依赖于Microsoft.Bcl.Async
NuGet包。强制删除项目Microsoft.Bcl.Async
的{{1}}依赖项是否安全,因为它的目标是4.5?如果删除它确实安全 - 为什么?
答案 0 :(得分:2)
您仍需要Microsoft.Bcl.Async。程序包A中的程序集将从Microsoft.Bcl.Async程序包中的程序集引用类型和方法。在.Net 4.5上,你有等效功能的方法,你不会有完全相同的方法,所以包A不起作用。
例如,如果您在使用Microsoft.Bcl.Async时在.Net上await
Task
,则您的代码会在public static TaskAwaiter GetAwaiter(this Task task)
类型上调用扩展方法AwaitExtensions
在Microsoft.Threading.Tasks
汇编中。
在.Net 4.5上,程序集不存在,因此这样的代码不起作用。