如何在Visual Studio 2017中使用C# 7+语法
前言
之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不喜勿喷,或许对您有帮助。
在Visual Studio 2017配置支持C# 7+语法
心想都VS2017了肯定是支持C# 7+语法,然后接着将控制台程序修改为异步,然后告知于我不行,尼玛这不是扯淡了么,如下:
public class Program
{
public static async Task Main(string[] args)
{
using (var context = new EFCoreDbContext())
{
var blog = await context.Blogs.FindAsync(3);
blog.Name = "Jeffcky";
var result = await context.SaveChangesAsync();
}
Console.ReadKey();
}
}
然后得知.NET Framework 4.7可以使用C# 7语法,心想难道是没装.NET Framework 4.7么,于是乎到如下地址下载.NET Framework 4.7(https://www.microsoft.com/zh-CN/download/details.aspx?id=55170),结果一安装,它告诉我安装了或更高版本:
然后一查找资料发现在Visual Studio 2017 Update 3就支持C# 7语法,那我现在Visual Studio 2017版本都已经超过这版本不知道多少了,然后一看恍然大悟:
好了,到了这里我的VS 2017已经支持C# 7语法了,看来是缺少什么设置了,那就看如下方案吧。
(1)右键项目解决方案点击【属性】。
(2)点击左侧Tab中的【生成】,出来的界面右下角有个【高级】点击进去,如下:
原来是使用语言版本是最新主要版本【默认】,那不应该是最高版本,打开下拉列表,选择我们想要的版本吧,就可以愉快的玩耍了,如下:
或者我们手动编辑以.csproj的项目文件,找到如下内容:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<LangVersion>default</LangVersion>
</PropertyGroup>
将如上LangVersion修改我们对应的版本如:<LangVersion>7.2</LangVersion>保存,然后生成解决方案就好使了。
总结
理论上VS 2017不是应该使用最高C#语法版本么,但事实不是如此,所以如果您遇到这个问题,首先请确保您是否安装了.NET Framework 4.7,如果安装了就按照上述方法进行即可在控制台使用异步方法以及对应C# 7+语法。可能是我知道的太少,写出来或许对不知道的童鞋有些许帮助,早就知道的大佬们就跳过吧,我们下节再会。
原文地址: http://www.cnblogs.com/CreateMyself/p/8988706.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
如何在Visual Studio 2017中使用C# 7+语法相关推荐
- 如何在visual studio 2017 中安装python工具
首先申明一下本人的电脑是win10系统,安装的是visual studio 2017社区版(vs社区版都是免费使用的,可以在官网下载),大学学习的是计算机专业平时都是用visual studio编写一 ...
- Visual Studio 2017中的第一个Python项目
目录 介绍 背景 实现 结论 介绍 Python正在成为一种流行的编程语言,每个人都想开始使用Python.但是我们已经看到,大多数开发人员对于从哪里开始以及如何创建他们的第一个python应用程序感 ...
- 如何在 Visual Studio 2019 中连接中国版 Azure
点击上方蓝字关注"汪宇杰博客" 导语 做国内项目很可能用到中国版的 Azure,即世纪互联运营的 azure.cn.然而 Visual Studio 2019 默认连接的是国际版的 ...
- 【转】如何在 Visual Studio 2019 中连接中国版 Azure
导语 做国内项目很可能用到中国版的 Azure,即世纪互联运营的 azure.cn.然而 Visual Studio 2019 默认连接的是国际版的 Azure,如何添加中国版订阅呢? 差点996 6 ...
- 学习Azure Functions:在Visual Studio 2017中创建Azure Functions
目录 介绍 Azure Azure帐户设置 设置开发环境 案例分析 在Visual Studio 2017中创建Azure Functions 添加Azure Functions项目 添加HTTP触发 ...
- 如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境
CppUTest 是一个功能全面的测试框架,是为了支持在多种操作系统上开发嵌入式软件而特别设计的.CppUTest的宏被设计成不需要了解C++也可以写测试用例.这使得C程序员更容易用这个测试框架. 那 ...
- Visual Studio 2017中的编译器工具布局
写在前面 在工作中,偶尔会用到VC编译器.目前,最新版的VS已发布到了2017.其中,微软对于VS的目录结构进行了调整. 该文翻译自微软官方博文 Compiler Tools Layout in Vi ...
- 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...
- 在现有的Visual Studio 2017中设置和测试Python环境
目录 介绍 背景 设置Python环境 结论 介绍 根据Stack Overflow开发者调查,在2018年,Python成为最受欢迎的语言列表.Python是用于机器学习.Web开发和数据科学的跨平 ...
最新文章
- 前景检测算法_3(GMM)
- JAVA的JDBC连接数据库以及读取数据库数据
- 自定义Dialog(一)
- NYOJ 678 最小K个数之和
- iOS开发之Quzrtz2D 一:认识Quzrtz2D
- java 队列复制_复制一个文件夹里的文件到另一个目录下 (使用队列的方法实现)...
- 组合式应用新利器?SaaS新时代事件网格如何解决集成标准化问题
- python数据分析要学多久_如何七周成为数据分析师18:Python的新手教程
- ATT ECOMP与Open-O相互掣肘
- Java中Jedis连接Linux上的Redis出现connect time out(解决方案)
- speex语音压缩服务端与APP端实践
- 三星Note3 SM-N9009 国内天翼版本安装谷歌框架
- ps制作干净通透欧美风格图片
- java.sql.SQLException: sql injection violation, syntax error: TODO QUES
- 监听支付宝、微信 二合一 个人免签最新,运行起来之后无需人工操作,绕过验证码
- 零基础入门金融风控-贷款违约预测
- 人工智能基础(高中版)教材补充和资源分享
- Educational Codeforces Round 95题解
- 最简单的方法更新黑苹果macOS教程
- 【Bug】HTC Vive Pro定位发生偏移或倾斜解决办法
热门文章
- 利用系统错误日志监控磁盘健康状况
- jQuery07源码 (3803 , 4299) attr() prop() val() addClass()等 : 对元素属性的操作
- 基本线程同步(三)在同步的类里安排独立属性
- 1.1-1.5-vim编辑器
- arcengine 将地图文件保存为图片(包括各种图片格式)
- 软件工程师,你的价值在哪里?
- .net 中通用的formatstring格式符整理
- Envoy实现.NET架构的网关(五)集成Redis实现限流
- 为什么 ASP.NET Core WebAPI 继承 ControllerBase 而不是 Controller ?
- Hello Blazor:(7)WebAssembly、Server模式你选哪种?小孩子才做选择!我用混合模式...