代码基于 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 中我得到:
"{ or ; expected"
为什么会这样?
您用于 get 定义的特定功能(表达式体成员)特定于 C# 7.0 版,as detailed here。
所以你的代码没有编译的原因是因为 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 结合使用。那么理论上您应该能够在不进行任何更改的情况下编译您的代码。
在 Visual Studio 2017(目标框架 .NET 4.5,vs + resharper)构建和测试我的解决方案后,我 运行 在生产环境中使用 Visual Studio 2015(相同的目标框架) ).
在这种情况下,我在尝试构建它时收到 语法错误。
例如:
public double Frequency
{
get => _frequency;
set
{
if (value > 0)
_frequency = value;
}
}
在 VS 2015 中我得到:
"{ or ; expected"
为什么会这样?
您用于 get 定义的特定功能(表达式体成员)特定于 C# 7.0 版,as detailed here。
所以你的代码没有编译的原因是因为 VS 2015 使用 C# 6.0 而 VS 2017 使用 C# 7.0。
您可以将 get
声明更改为以下内容,以使其与 C# 6.0 兼容,并将在 VS 2015 中构建:
get { return _frequency; }
尽管我从未尝试过,