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 ...
随机推荐
- Leetcode 655.输出二叉树
输出二叉树 在一个 m*n 的二维字符串数组中输出二叉树,并遵守以下规则: 行数 m 应当等于给定二叉树的高度. 列数 n 应当总是奇数. 根节点的值(以字符串格式给出)应当放在可放置的第一行正中间. ...
- 冒泡排序(Bubble Sort)及优化
原理介绍 冒泡排序算法的原理如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有 ...
- Linux互斥锁、条件变量和信号量
Linux互斥锁.条件变量和信号量 来自http://kongweile.iteye.com/blog/1155490 http://www.cnblogs.com/qingxia/archive/ ...
- mysql 连接超时的问题
项目中用mycat做的分表分库,异步通知系统会连接mycat去查数据库数据,有时会抛异常提示mysql server has gone away.最初以为是mycat的问题,在修改了mycat的配置, ...
- Behavior trees for AI: How they work
http://www.gamasutra.com/blogs/ChrisSimpson/20140717/221339/Behavior_trees_for_AI_How_they_work.php ...
- bzoj2338数矩形(rectangle)
数矩形(rectangle) 计算几何 把所有点两两连线,把这些线按长度排序,再按中点排序 能组成矩形的线一定是连续的 最坏就是所有点围成一个圆,交于圆心 复杂度O(可以过) 要用叉积,不然会被卡精 ...
- openssl RSA 内存读取密钥
主要注意一下密钥的格式 #include <openssl/pem.h> #include <openssl/err.h> bool CEncipher::CreatePubK ...
- Linux(Centos) 搭建ReviewBoard
一.官方安装手册 reviewboard 的安装用户手册:猛击这里 二.常用安装步骤 2.1.安装httpd,+ mod_wsgi, fastcgi, or mod_python yum -y int ...
- react当中两种获取表单数据的方法
方法一: 获取dom当中的数据 需要操作的dom上面有 ref="test", 当需要获取的时候 this.refs.test.value 就可以获取当前输入框的value值 ...
- pat 团体天梯赛 L2-010. 排座位
L2-010. 排座位 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位. ...