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 不包含‘运行’的定义。” 我的 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>
我需要安装其他软件包吗?
在此先感谢,保罗