.NET 4.5 中是否需要 Microsoft.Bcl.Async 包?
Do I need Microsoft.Bcl.Async package in .NET 4.5?
我有一个针对 .NET Framework 4.5 的项目 P
,它有一个针对 4.0(没有 4.5)的 NuGet 包 A
。现在,A
依赖于 Microsoft.Bcl.Async
NuGet 包。由于项目 P
的目标是 4.5,因此强制删除对 Microsoft.Bcl.Async
的依赖是否安全?如果移除它确实安全 - 为什么?
你还需要Microsoft.Bcl.Async。包 A 中的程序集将引用 Microsoft.Bcl.Async 包中程序集中的类型和方法。而在 .Net 4.5 上,您有具有 等效功能 的方法,您不会有 完全相同的 方法,因此包 A 不会工作。
例如,如果您在 .Net 上 await
一个 Task
,同时使用 Microsoft.Bcl.Async,您的代码将调用 AwaitExtensions
上的扩展方法 public static TaskAwaiter GetAwaiter(this Task task)
] 输入 Microsoft.Threading.Tasks
程序集。
在 .Net 4.5 上该程序集不存在,因此这样的代码将无法运行。
我有一个针对 .NET Framework 4.5 的项目 P
,它有一个针对 4.0(没有 4.5)的 NuGet 包 A
。现在,A
依赖于 Microsoft.Bcl.Async
NuGet 包。由于项目 P
的目标是 4.5,因此强制删除对 Microsoft.Bcl.Async
的依赖是否安全?如果移除它确实安全 - 为什么?
你还需要Microsoft.Bcl.Async。包 A 中的程序集将引用 Microsoft.Bcl.Async 包中程序集中的类型和方法。而在 .Net 4.5 上,您有具有 等效功能 的方法,您不会有 完全相同的 方法,因此包 A 不会工作。
例如,如果您在 .Net 上 await
一个 Task
,同时使用 Microsoft.Bcl.Async,您的代码将调用 AwaitExtensions
上的扩展方法 public static TaskAwaiter GetAwaiter(this Task task)
] 输入 Microsoft.Threading.Tasks
程序集。
在 .Net 4.5 上该程序集不存在,因此这样的代码将无法运行。