VS2010 + C#4.0使用 async + await
方法一: 安装官方出的Microsoft.Bcl.Async包
最新发布日期为 2014/4/12,版本1.0.168
(不支持VS2010)
1、解决方案-右键-管理解决方案的NuGet程序包
2、搜索Microsoft.Bcl.Async,点击安装
3、等待下载完成
4、点击我接受
5、发现引用下多出7个引用
方法二、
2011年微软出了async的预览版,当时使用async的方式如下
1、准备好Visual Studio 2010 + SP1,无论什么版本。
VS2010 SP1升级补丁: Microsoft Visual Studio Service Pack 官方离线下载版(ISO).48G地址:
http://download.microsoft.com/download/E/B/A/EBA0A152-F426-47E6-9E3F-EFB686E3CA20/VS2010SP1dvd1.iso
WebClient
下的DownloadStringTaskAsync
方法,则是在%MyDocument%\Microsoft Visual Studio Async CTP\Samples\AsyncCtpLibrary.dll
下定义的扩展方法。则需要在注册表下,hkey_current_user\software\microsoft\installer\products\
在Products下找到一个ProductName叫 Microsoft Visual Studio 2010 Service Pack 1的项,并删除掉项9AC087DE786021C34B9333962F4249F1
再次打开安装程序就正常了
安装完SP1后,打开弹框报错:未能正确加载 “Microsoft.Data.Entity.Design.BootstrapPackage.BootstrapPackage,”
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /s reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /s reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /s reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /va /f reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /va /f reg delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /f
reg delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /f
reg delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /va /f reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /s reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /s reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\AutoLoadPackages\{adfc4e66--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\AutoLoadPackages\{93694fa0--11d1-9f4e-00a0c911004f} /v {7A4E8D96-5D5B--9FAB-D6DCC56F47FB}
reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\.0_Config\Packages\{7A4E8D96-5D5B--9FAB-D6DCC56F47FB} /s
将上述代码复制到cmd下即可~如果一般不行来两遍。
VS2010 + C#4.0使用 async + await的更多相关文章
- nodejs7.0 试用 async await
nodejs 7.0.0 已经支持使用 --harmony-async-await 选项来开启async 和 await功能. 在我看来,yield 和 async-await 都是在特定范围内实现了 ...
- [C#] .NET4.0中使用4.5中的 async/await 功能实现异
好东西需要分享 原文出自:http://www.itnose.net/detail/6091186.html 在.NET Framework 4.5中添加了新的异步操作库,但是在.NET Framew ...
- 小心C# 5.0 中的await and async模式造成的死锁
平时在使用C# 5.0中的await and async关键字的时候总是没注意,直到今天在调试一个ASP.NET项目时,发现在调用一个声明为async的方法后,程序老是莫名其妙的被卡住,就算声明为as ...
- [C#] .NET4.0中使用4.5中的 async/await 功能实现异步
在.NET Framework 4.5中添加了新的异步操作库,但是在.NET Framework 4.0中却无法使用.这时不免面临着抉择,到底是升级整个解决方案还是不使用呢? 如果你的软件还没发布出去 ...
- .NET4.0中使用4.5中的 async/await 功能实现异步
在.NET Framework 4.5中添加了新的异步操作库,但是在.NET Framework 4.0中却无法使用.这时不免面临着抉择,到底是升级整个解决方案还是不使用呢? 如果你的软件还没发布出去 ...
- C#Framework4.0支持异步async/await语法
由于用户使用的是XP系统,但是程序里异步都是通过async/await代码来实现的,然而async/await需要Framework4.5版本才可以,而XP系统最高只能支持到Framework4.0, ...
- Python的异步编程[0] -> 协程[0] -> 协程和 async / await
协程 / Coroutine 目录 生产者消费者模型 从生成器到异步协程– async/await 协程是在一个线程执行过程中可以在一个子程序的预定或者随机位置中断,然后转而执行别的子程序,在适当的时 ...
- tornado5.0+async+await
不使用数据库的情况下实现异步 使用gen.sleep()模拟阻塞 使用gen.sleep(time) 而不是time.sleep(),time.sleep()阻塞整个进程,看gen.sleep()源码 ...
- [转]小心C# 5.0 中的await and async模式造成的死锁
原文链接 https://www.cnblogs.com/OpenCoder/p/4434574.html 内容 UI Example Consider the example below. A bu ...
随机推荐
- web 大规模并发访问的解决方案
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要.这次我们 ...
- Unity 脚本<2>
UnityEngine; using System.Collections; public class PlayerControl : MonoBehaviour { [HideInInspector ...
- mouseClicked、mousePressed、mouseReleased 的区别
2014年03月16日 21:12:10 xiaobineric 阅读数 9681 标签: 鼠标 事件 关于这3个事件,一直搞不清楚甚至混淆,也已经有一些人说过,但觉得不够明白,最近看了一段教材的 ...
- Spring MVC控制器方法参数类型
HttpServletRequest Spring会自动将 Servlet API 作为参数传过来 HttpServletResponse InputStream 相当于request.getInpu ...
- puppet实战之master-agent
author:JevonWei 版权声明:原创作品 blog:http://119.23.52.191/ --- master作为puppet模块的管理者,通过配置各agent节点的配置文件,使age ...
- 求中位数为K的区间的数目
给定一个长为 $n$ 的序列和常数 $k$,求此序列的中位数为 $k$ 的区间的数量.一个长为 $m$ 的序列的中位数定义为将此序列从小到大排序后第 $\lceil m / 2 \rceil$ 个数. ...
- [Linux]方便openmp等程序的类似编译
因为总是打参数例如-fopenmp或者-lGL等等有些麻烦,所以特地写一个可以使用的bash文件用来执行简单的操作 首先在.profile中添加 if [ -d "$HOME/bin&quo ...
- Python之面向对象:面向对象基础
一.面向过程.面向对象对比 1.面向过程 根据业务逻辑从上到下写垒代码 2.函数式思想 将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 3.面向对象 对函数进行分类和封装 1.2.3一步 ...
- The OAuth 2.0 Authorization Framework
The OAuth 2.0 Authorization Framework Abstract The OAuth 2.0 authorization framework enables a thi ...
- sql2008游标FORWARD_ONLY STATIC 的使用方式
CREATE TABLE #xms_staff_department ( id int, name varchar(128), parent_id int, parent_path varchar(5 ...