C# 7.1 及以上的版本允许我们使用异步的Main方法。

一.新建一个控制台应用程序

二.异步Main方法

我们直接将Main方法改为如下:

static async Task Main(string[] args)

可以看到报错了,提示我们是C# 7.1 的特性。我们有两种方法可以解决,其实最后都是殊途同归,只是操作不一样而已。

1.第一种方法-修改csproj文件

打开项目的csproj文件,添加如下代码:

 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<LangVersion>7.1</LangVersion>
</PropertyGroup>

例如:

2.第二种方法-通过vs更改项目属性

在“解决方案管理器”界面中,选中项目,然后 右键->属性 -> Build

在弹出的界面中选中 C# 7.1

经过上面的更改以后,将不会报错了。

三.验证

我们在Main方法中,加入如下代码,获取百度首页的html:

class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
var result = await client.GetStringAsync("https://www.baidu.com/");
Console.WriteLine(result);
Console.ReadKey();
}
}

然后运行:

本文所用代码:https://github.com/stulzq/BlogDemos/tree/master/AsyncConsoleApp

最新文章

  1. Linux下PHP+MYSQL+APACHE配置方法
  2. msconfig设置调试开启 关闭 操作注册表项是
  3. 有图有真相——关于“视频专辑:零基础学习C语言 ”
  4. CodeForces 279B Books
  5. cas 3.5.2 登录成功后,如何返回用户更多信息?
  6. 工作踩坑记录:JavaScript跳转被缓存
  7. Linux - 引用
  8. jquery val() and text().
  9. swift实现ios类似微信输入框跟随键盘弹出的效果
  10. MySQl 存储过程+游标
  11. Stack-overflow, how to answer
  12. 201521123038 《Java程序设计》 第四周学习总结
  13. WPF TextBox按字节长度限制输入
  14. 基于docker 部署 canvas-lms
  15. scrapy常用命令(持续) | Commonly used Scrapy command list (con&#39;t)
  16. 第四天 Java语言基础
  17. Haskell语言学习笔记(90)Default
  18. 06Vue.js快速入门-Vue组件化开发
  19. C++实现排序算法
  20. Dailu Scrum (2015/10/27)

热门文章

  1. 根据http协议下载文件保存到相应的文件下
  2. bzoj3534 [Sdoi2014]重建
  3. codeForces 472D 最小生成树
  4. BZOJ_3477_[Usaco2014 Mar]Sabotage_二分答案
  5. BZOJ_2724_[Violet 6]蒲公英_分块
  6. Spring IOC(二)容器初始化
  7. 深入理解Java 栈数据结构
  8. (leetcode:选择不相邻元素,求和最大问题):打家劫舍(DP:198/213/337)
  9. 用Docker解决坑爹的环境搭建系列——mysql:5.6
  10. .netcoreapp 发布到 linux 的问题,vs靠不住