【发布时间】:2019-03-21 20:16:17
【问题描述】:
我知道如何将 C# 语言版本设置为使用最新语法(项目 > 属性 > 构建 > 高级 > 语言设置...)这始终默认为“C# 最新主要版本(默认)”
有什么方法可以让 Visual Studio 将新项目的语言版本默认为 non-default 值;最好到'C# latest minor version (latest)'?
实际上,对于我在 VS2017 中创建的任何新项目,我希望将 latest 作为 langversion 参数传递给 MSBUILD,而无需记住更改此设置。
编辑 - 解决关于我在原始问题中已包含的链接的可能重复帖子...我真的不想通过按照建议更改“Microsoft.Common.props”来做到这一点在上述链接中,因为我必须更改所有构建机器以默认包含此内容(构建机器应该只运行 MSBuild;它们不应包含可能不适用于未来构建的指令) - 理想情况下,该值应该是存在于 csproj 文件中。
抱歉,如果这是重复的 - 我已经广泛搜索了这个网站,并且还在谷歌上搜索了答案 - 但我还没有找到答案。
编辑 - 新信息 - 2019 年 10 月
VS2019 已为我解决了这个问题 - 请参阅 link。根据您使用的框架版本,默认情况下您会获得不同的语言版本目标。这不是我所追求的,但它解决了我的问题。向微软提出问题工单后,发现他们不愿意更改 VS2017 来做同样的事情,所以我该升级了!
【问题讨论】:
-
您可以通过creating a Project Template 做到这一点。
-
@SeM 您建议的副本已在我的问题中被引用,我已更新我的问题以反映为什么我不想通过编辑
Microsoft.Common.props文件来解决此问题 -
@MatthewWatson 这听起来是个好主意 - 我会在今天晚些时候试一试,让你知道我的进展情况。
-
我已经向微软记录了一个关于此的功能请求:developercommunity.visualstudio.com/idea/360820/…
-
我已赞成该请求,因为我也想这样做。
标签: c# .net msbuild .net-core visual-studio-2017