我知道如何设置 C# 语言版本以使用最新语法(项目 > 属性 > 构建 > 高级 > 语言设置...)这始终默认为“C# 最新主要版本(默认)”
有没有办法让 Visual Studio 将新项目的语言版本默认为 non-default值(value);最好是“C# 最新次要版本(最新)”?
实际上,我希望将 latest
作为 langversion
传递给 MSBUILD我在 VS2017 中创建的任何新项目的参数,而无需记住更改此设置。
编辑 - 解决关于我已经包含在我的原始问题中的链接的可能重复帖子......我真的不想通过按照建议更改“Microsoft.Common.props”来做到这一点在前面提到的链接中,因为我必须更改我所有的构建机器以默认包含它(构建机器应该只运行 MSBuild;它们不应该包含可能不适用于 future 构建的指令)——理想情况下,该值应该是存在于 csproj 文件中。
如果这是重复的,我深表歉意 - 我已经广泛搜索了这个网站,并在谷歌上搜索了答案 - 但我还没有找到答案。
编辑 - 新信息 - 2019 年 10 月
VS2019 已经为我解决了这个问题 - 请参阅 link .根据您使用的框架版本,默认情况下您会获得不同的语言版本目标。这不是我想要的,但它解决了我的问题。向微软提交了问题工单后,发现他们不愿意更改 VS2017 来做同样的事情,所以我该升级了!
最佳答案
虽然它不会更改所有新解决方案+项目的默认设置,但对于您正在进行的大型项目,您可以 create a Directory.Build.props
file in your solution directory (或者您希望它应用到的任何目录,甚至可以是您的 C:\Users
目录)。
在此文件中,您可以为所有项目设置各种默认值:
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
</Project>
这对大型项目有很大帮助,因此您添加到解决方案的所有新项目都将具有相同的配置。
关于c# - 在 Visual Studio 2017 中设置默认的 C# 构建语言版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52849994/