![](/img/trans.png)
[英]A trivial code that builds cleanly with msbuild 14/VS 2015, but fails to compile in msbuild 15/VS 2017
[英]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.