我们在Jenkins中运行持续集成。最近我们决定尝试在我们的一个Web项目中使用C#7元组值构建解决方案时,C#7中的元组失败,MSBuild.exe失败,而不是项目
该项目在Visual Studio中编译良好,但是当我们将它发送到构建服务器时,它会中断。
error CS8059: Feature 'tuples' is not available in C# 6. Please use language version 7 or greater.
我已经试过一切,从更新的NuGet来撞我的头靠在墙上。
我也安装了所需的NuGet包: Install-Package Microsoft.Net.Compilers Install-Package System.ValueTuple
最后我有一个突破,当我发现我可以公布每一个项目,并建立整个解决方案时,它仅仅取消。
这意味着它的工作原理,只是不在解决方案级别。但为什么!? 我需要构建整个解决方案来针对我们的代码库运行单元测试。
因此,要回顾:
- 的MSBuild MySolution.sln失败!
- msbuild MyProject.csproj + PublishProfile工作得很好。
启用的MSBuild诊断记录和比较。 –
您是否在项目 - >属性 - >生成 - >高级 - >语言版本中检查语言版本?它应该是C#6.0 –
实际上它应该是C#7,并且修复它。我忘了标记它已解决。 –