在Visual Studio 2017中设置默认的C#构建语言版本

时间:2018-10-17 08:01:15

标签: c# .net msbuild .net-core visual-studio-2017

我知道如何设置C#语言版本以使用最新语法(“项目”>“属性”>“生成”>“高级”>“语言设置...”)。这始终默认为“ C#最新主要版本(默认)”

是否可以通过任何方法使Visual Studio将新项目的语言版本默认为non-default值;最好是“ C#最新次要版本(最新)”?

实际上,我想将latest作为langversion参数传递给MSBUILD,以在VS2017中创建的任何新项目,而不必记住更改此设置。

编辑-解决有关重复链接的问题,我已经将其包含在原始问题中了...我真的不希望通过按建议更改'Microsoft.Common.props'来完成此操作在上述链接中,因为我必须更改所有构建机器以默认包含它(构建机器应仅运行MSBuild;它们不应包含可能不适用于将来的构建的指令)-理想情况下,该值应为出现在csproj文件中。

很抱歉,如果重复的话-我已经在该网站上进行了广泛搜索,还用谷歌搜索了答案-但我还没有找到答案。

2 个答案:

答案 0 :(得分:2)

  

在Visual Studio 2017中设置默认的C#构建语言版本

就像马修(Matthew)所说的那样,您可以create a custom project template使用该设置。

要为任何新项目设置langversion参数时,可以使用自定义项目模板创建新项目,否则,请使用默认模板。

注意:如果仅为一个解决方案而不是多个解决方案设置此设置,Martin的建议也是一个不错的选择。

希望这会有所帮助。

答案 1 :(得分:1)

虽然它不会更改所有新解决方案+项目的默认设置,但是对于正在处理的较大项目,您可以在解决方案目录(或您要应用于该目录的任何目录)中创建一个Directory.Build.props文件,甚至可以是您的C:\Users目录)。

在此文件中,您可以为所有项目设置各种默认值:

<Project>
  <PropertyGroup>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
</Project>

这对大型项目有很大帮助,因此您添加到解决方案中的所有新项目都将具有相同的配置。