繁体   English   中英

代码基于vs 2017而不是vs 2015

[英]Code builds on vs 2017 but not in vs 2015

在Visual Studio 2017(目标框架.NET 4.5,vs + resharper)上构建和测试我的解决方案之后,我在带有Visual Studio 2015(相同目标框架)的生产环境中运行它。

在这种情况下,我在尝试构建它时收到语法错误

例如:

public double Frequency
{
    get => _frequency;
    set 
    {
        if (value > 0)
            _frequency = value;
    }
}

在VS 2015中,我得到:

{或;预期

为什么会这样?

您用于get定义的特定功能(表达式主体)特定于C#7.0版, 如此处所述

因此,您的代码未编译的原因是因为VS 2015使用C#6.0,而VS 2017使用C#7.0。

您可以将get声明更改为以下内容,以使其与C#6.0兼容,并且它将在VS 2015中构建:

get { return _frequency; }

尽管我从未尝试过,但是快速浏览一下网络之后 ,如果您愿意使用C#7.0和Visual Studio 2015,就可以使用它。 从理论上讲,您应该能够在不进行任何更改的情况下编译代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM