pas*_*ick 6 c# windows-phone async-ctp portable-class-library windows-8
我试图将项目重写为可移植类库.但问题是它使用的是Async CTP,我无法将其编译为WP和Windows Store App的库.如果我不包含引用AsyncCtpLibrary.dll,编译器会说
名称空间'System.Threading'中不存在类型或命名空间名称'Tasks'(您是否缺少程序集引用?)
如果我包含它,编译器仍会说相同的错误并添加警告:
无法解析主要引用"AsyncCtpLibrary",因为它对框架程序集"mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"具有间接依赖性,这在当前目标框架中无法解析." .NETPortable,版本= V4.0,外形= Profile104" .要解决此问题,请删除引用"AsyncCtpLibrary"或将应用程序重新定位到包含"mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"的框架版本.
我该怎么忍受?
在针对.NET 4.5和Window Store应用程序时,您当前只能在便携式中使用async/await.在便携式之外,您可以使用Async Targeting Pack for .NET 4.0和Silverlight 5.
尽管如此,我们正在开发一个更新的异步定位包,在针对Phone 7.5,Silverlight 5和.NET 4.0时,可在便携式中添加对async/await的支持,请参阅:http://visualstudio.uservoice.com/forums/121579 -visual-studio/suggestions/2691068-support-async-in-portable-class-libraries.你将在10月初看到这一点.
更新:我们刚刚发布了这个测试版:http://blogs.msdn.com/b/bclteam/archive/2012/10/22/using-async-await-without-net-framework-4-5.aspx.
简单的答案 - AsyncCTP 无法在 Visual Studio 2012 中工作,并且不能在任何项目中使用。对于 .NET 4.0 和 Silverlight 5,您可以安装来自 NuGet 的 Async Targeting Pack,其工作方式类似。
仅当针对 WinRT、.NET4.5 或 Windows Phone 8 时,可移植类库才支持 Async/await,即使如此,其使用也相当有限。我无法在这里透露更多细节,因为 Windows Phone 8 SDK 仍处于 NDA 状态。
对于 WP7.5 和 VS2012,目前无法使用 async/await,但该平台的更新 Async Targeting Pack 应该会在某个时候推出。
另请注意,AsyncCTP 和 Async Targeting Pack 不能在可移植类库中使用,并且将来不太可能发生更改。结果是在 VS2010 中您无法在可移植类库中使用 async/await。
| 归档时间: |
|
| 查看次数: |
2554 次 |
| 最近记录: |