如何在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+语法。可能是我知道的太少,写出来或许对不知道的童鞋有些许帮助,早就知道的大佬们就跳过吧,我们下节再会。

原文地址:https://www.cnblogs.com/CreateMyself/p/8988706.html

时间: 2024-10-11 17:13:36

如何在Visual Studio 2017中使用C# 7+语法的相关文章

Visual Studio 2017中使用SourceLink调试ASP.NET Core源码

背景 当我们在学习ASP.NET Core或者调试ASP.NET Core程序的时候,有时候需要调试底层代码,但是当我们在Visual Studio中调试程序的时候,由于一些基础库或者第三方库缺少pdb文件,所以调试这些库的代码的时候,会出现断点不能进去的情况. 例如,在如下代码中,我们希望调试一下View()方法,看看其中的内部实现 但是当我们点击F11之后,程序会直接跳到下一步 Source Link SourceLink是一组用于描述可嵌入到符号.二进制文件和包中的源代码控制元数据的包和规

在Visual Studio 2017中找不到.NET Framework 4.6.2

原文 https://blogs.msdn.microsoft.com/benjaminperkins/2017/03/23/net-framwork-4-6-2-not-in-visual-studio-2017/ 在Visual Studio 2017中找不到.NET Framework 4.6.2?没有它,你不能得到所有酷的新的C#功能? 例如,当您创建一个新项目时,您可能只看到.NET Framework版本高达4.6.1,如图1所示. 图1,Visual Studio 2017中4.6

【Asp.Net Core】在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布.我一直在想,怎么能够用这个地表最强IDE工具编写Angular4的Asp.Net Core项目.经过不懈的研究.终于的得到了一套很好的解决方案与大家分享. 文章转载请著名出处:http://www.cnblogs.com/smallprogram 我们的目的 随着Web技术的快速发展,新的技术层出

Visual studio 2017 中的Javascript智能提示

1.智能提示 对于JS文件中的API,你若需要让那个JS文件中的方法能够在你写的那个JS文件中能够智能显示的话,直接把它拉进你的JS文件中就好了. 举个例子:你想 在你正在写的a.js文件中引用b.js中的功能与函数.很简单,你只需要把b.js文件拉到你的a.js文件中就好了.这时在你的文件 顶端会显示这样一行内容:/// <reference path="../angular.js" />. 就是这样,智能显示的很全面,就像你自己写类文件一样,里面的注释什么的都全部显示出

在Visual Studio 2017中,.NET(C#)通过Oracle.ManagedDataAccess来连接Oracle数据库

C#如何通过Oracle.ManagedDataAccess来连接Oracle数据库 1.先创建一个项目,鼠标右击项目中的引用,再点击管理NuGet程序包(也可以先下载dll文件,再选添加引用),在搜索栏中输入oracle查找,选择名为Oracle.ManagedDataAccess的安装. 2.引入Oracle.ManagedDataAccess.Client空间 3.数据库的连接字符串: User ID:用户名 Password:用户密码 Data Source:请看下面的截图 OK,到此在

在Visual studio 2017中使用EF6连接MySQL

在Visual studio 2017中使用EF6连接Mysql ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,不仅支持SQL Server,还支持MySQL.Oracle等数据库. 在本文中使用 Entity Framework 6 框架,来映射MySQL数据实体. 一.在VS2017中,通过Nuget安装插件 1. EntityFramework 6.2.0 2. Mysql.data.ent

如何在Visual Studio 2013中使用Ribbon For WPF

1.首先需要 下载Ribbon For WPF.目前最新的版本是Microsoft Ribbon for WPF October 2010. 下载 链接: https://www.microsoft.com/en-us/download/details.aspx?id=11877#filelist 下载 完成后安装. 2.打开Visual Studio 2013创建WPF应用程序.添加程序集引用 "C:\Program Files (x86)\Microsoft Ribbon for WPF\V

爆料!如何在Visual Studio 2017上体验五星级云服务

2017 年 3 月初,号称宇宙最强 IDE 之一的 Visual Studio 发布了最新的 2017 版本,遥想自己使用 VC++ 6.0 的当年,看着现在已然稀疏的头发,真是一入 IT 似海深,时光一去不倒回呀. 但是作为一只老程序猿的小编,看到新程序猿们可以有如此方便和顺手的 IDE 可供使用,还是能够感觉到极大的欣慰:微软针对 Visual Studio 2017 的多个关键领域都进行了研发,其中最重要的部分之一就是(小编要敲黑板啦,这是重点!!)--2017 版提供了更高星级的云和移

如何在Visual Studio 2013中连接中国版的Azure

http://diaosbook.com/Post/2014/8/23/connect-azure-cn-in-vs2013 VS2013的Server Explorer在第一次连接Azure的时候默认弹出的登录框只能登录国际版的Azure.但是国内很多屌丝没有国际版怎么办呢?其实国内世纪互联运营的windowsazure.cn也可以通过导入订阅的方式来连接. 1. 登录国内版Azure之后,访问这个地址,下载你的订阅文件:https://manage.windowsazure.cn/publi