我知道如何设置C#语言版本以使用最新语法(“项目”>“属性”>“生成”>“高级”>“语言设置...”)。这始终默认为“ C#最新主要版本(默认)”
是否可以通过任何方法使Visual Studio将新项目的语言版本默认为non-default值;最好是“ C#最新次要版本(最新)”?
实际上,我想将latest
作为langversion
参数传递给MSBUILD,以在VS2017中创建的任何新项目,而不必记住更改此设置。
编辑-解决有关重复链接的问题,我已经将其包含在原始问题中了...我真的不希望通过按建议更改'Microsoft.Common.props'来完成此操作在上述链接中,因为我必须更改所有构建机器以默认包含它(构建机器应仅运行MSBuild;它们不应包含可能不适用于将来的构建的指令)-理想情况下,该值应为出现在csproj文件中。
很抱歉,如果重复的话-我已经在该网站上进行了广泛搜索,还用谷歌搜索了答案-但我还没有找到答案。
答案 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>
这对大型项目有很大帮助,因此您添加到解决方案中的所有新项目都将具有相同的配置。