context

小说:蛋蛋赚电脑版官网作者:道石更新时间:2018-12-17字数:84242

context


前言

之前不知看过哪位前辈的博文有点印象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>binDebug</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://zxqss.com/00o7d/70478.html

发布时间:2018-12-17 07:26:29

零投资零风险的微商 玩哪个游戏可以挣钱 苹果手机钱咖是真的吗 p2p薅羊毛软件 大学生兼职网站大全 正规大学生兼职app 挂机赚是真是假 爱疯赚下载 有赚网app下载 怎么快速一月赚一万

编辑:杜安徒

我要说两句: (0人参与)

发布