如何在Visual Studio 2015(代码)中设置.NET版本

13
我们团队中的一些人正在使用VisualStudio 2015,而其余的人则仍在使用2013(两者均带有ReSharper 9.1)。项目属性中的目标框架设置为.NET Framework 4.5.1。
我的问题是:我仍然可以使用以下代码。
public int X() => x;

这是一个 .NET 4.6 特性。当我构建项目时,它也在运行(我猜是因为它更或多或少是语法糖,所以编译器生成的代码不需要 .NET 4.6)。 然而我的同事们并不太高兴,在 Visual Studio 2013 中检查我的更改时;-)

在使用 .NET 4.6 特性时,是否可能在 Visual Studio 2015 中收到警告/编译错误?


我不确定,但是:如果你的所有同事都使用Visual Studio 2015,你或许可以设置一些自定义的Roslyn基础代码分析,当你使用早期版本不支持的功能时会发出警告。但由于他们使用的是Visual Studio 2013(据我所知还没有完全基于Roslyn),这可能不是一个选项。 - stakx - no longer contributing
1个回答

22

这是一个表达式体成员,是在C# 6.0中引入的一项新的语言特性。

语言和框架/运行时库版本是分开进行编号的。

你真正想要做的是更改语言版本。

  1. 解决方案资源管理器中,右键单击项目名称,然后单击名为属性的菜单项。
  2. 点击生成选项卡,接着再点击高级按钮。会出现一个窗口。
  3. 语言版本下拉列表中选择C# 5.0
  4. 点击确定按钮,然后重新构建。

不要犯我曾经犯过的错误,忘记检查构建配置(调试、发布、所有配置),否则你可能会在后面发现一个惊喜... @Petrichor:感谢您解决我的问题。 - TheWho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接