【发布时间】:2018-03-07 06:46:24
【问题描述】:
要将新的 C# 7.1 language features 与 Visual Studio 2017 一起使用,请将设置 <LangVersion>latest</LangVersion> 添加到项目文件中。
但是,从 MSBuild(版本 15.3.409.57025,位于 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin)构建此类项目会导致错误:
CSC : error CS1617: Invalid option 'latest' for /langversion;
must be ISO-1, ISO-2, Default or an integer in range 1 to 6.
MSBuild 尚不支持此功能,还是可以使其正常工作?
这涵盖了最初在 Visual Studio 2013 和 2015 中以不同方式创建的 200 多个项目。它们都使用 Target Framework Migrator 工具重新定位到 .NET 4.7(这节省了很多点击和出现 - 基于检查 .csproj 文件更改 - 正确完成工作)。
所有项目均从 Visual Studio 2017 成功构建。
【问题讨论】:
-
你能分享你的 csproj 文件内容吗?
-
您的 MSBuild 位于何处?它位于
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin中,添加语言元素确实有效。您的项目是从 Visual Studio 构建的吗? -
你能显示你的项目文件的例外吗?
-
该项目是否可能引用
Microsoft.Net.Compilersnuget 包?如果是这样,则需要对其进行更新以获得支持此功能的编译器版本。
标签: c# msbuild visual-studio-2017 c#-7.1