异步定位包版本

时间:2013-04-22 10:52:14

标签: silverlight nuget async-await

在Silverlight应用程序中似乎有两个NuGet包可以使用async / await。我用过

http://nuget.org/packages/Microsoft.CompilerServices.AsyncTargetingPack

到目前为止,但这已不再出现在搜索中了。相反,我找到了

http://nuget.org/packages/Microsoft.Bcl.Async/

但是,两者都是在同一天(2013年4月18日)最后一次更改,而在说明中没有一个是指另一个。我很想相信后者会取代前者,但我不确定。

我的问题具体是这些包是如何相互关联的,更一般地说,如果有一些关于nuget版本的文档/原则,我应该注意自己理解这一点(例如:是否通常取代包另一个,在哪里记录,等等。)。

2 个答案:

答案 0 :(得分:7)

Microsoft.Bcl.Async is a replacement for Microsoft.CompilerServices.AsyncTargetingPack.

除非您更改其名称,否则在NuGet上取代另一个包并不常见。在这种特殊情况下,我认为AsyncTargetingPack(错误地)列出时没有“预发布”标志,然后Microsoft的团队在Bcl.Async中采取了更广泛的方法(支持更多方案)。

在我几个月前第一次(预先)发布时,{p> Bcl.Async取代了AsyncTargetingPack,但有两个原因造成了一些混乱:1)团队仍然提到Bcl.Async作为“异步定位包”,以及2)Bcl.Async包被(正确地)列为预发布,因此对于许多开发者而言,只有AsyncTargetingPack会出现在NuGet搜索中。

同样,这是所有猜测,但我怀疑微软团队决定保留原样,而不是破坏已经使用AsyncTargetingPack的开发人员的兼容性。

现在Bcl.Async处于最终版本,他们可以(并且确实)返回并更正AsyncTargetingPack / Bcl.Async混合,以便现有和新开发者都可以轻松找到正确的包裹。

答案 1 :(得分:-2)

我在Windows XP上使用VS2010和带有Async CTP的.NET 4.0以及C#5.0的其他扩展 这是我的帖子how I get/use extensions for C# 5.0 in .NET 4.0,其中(没有安装.NET 4.5的机器上的.NET 4.0)与安装了.NET 4.5的机器上的.NET 4.0不同

我不使用NuGet,因为它总是带有.NET 4.5(带有.NET 4.0的描述)或.NET 4.0的包,它们在没有安装.NET 4.5的.NET 4.0中不起作用

相关帖子: