VS2012,C#,XAML,Windows Phone7应用程序(刚从Win7/VS2010迁移)。
我刚刚将我的WP7应用程序迁移到Win8/VS2012。(我提到这一点是因为下面的问题可能表明我可能指向了一个不正确的DLL。)应用程序成功迁移。我正在添加一些在VS2012中原型化的附加异步处理,并且被VS标记以下内容不正确:
var _Token = await Task.Run(() => (Token)_Serializer.ReadObject(_Response.GetResponseStream()));
VS表示“System.Threading.Tasks.Task没有包含‘Run’的定义”。我WP7应用程序中System.Threading.Tasks的参考文献指向此位置:\ packages \ Microsoft.Bcl.1.0.16-rc \ lib \ sl4-windowsphone71 \ System.Threading.Tasks.dll。我通过NuGet添加了Microsoft.Bcl.1.0.16-rc以完成对VS2012的迁移。这样做是否不正确?以前我使用AsyncCtpLibrary_Phone,并被建议获取Microsoft.Bcl.Async以解决构建错误,例如: “System.Threading.Tasks.Task类型存在于AsyncCtpLibrary_Phone.dll和c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\mscorlib.dll中。添加Microsoft.Bcl.Async后,wp7应用程序成功构建并运行。只有在尝试放置在VS2012中原型化的新异步代码之后,才出现了Task.Run问题。app.config包含此条目:
<dependentAssembly bcl:name="System.Threading.Tasks">
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.11.0" newVersion="1.5.11.0" />
</dependentAssembly>
我需要安装额外的软件包吗?
提前感谢, 保罗