gpt4 book ai didi

c# - 在构建解决方案而非项目时,C# 7 中的值元组因 MSBuild.exe 而失败

转载 作者:行者123 更新时间:2023-11-30 15:57:57 25 4
gpt4 key购买 nike

我们在 Jenkins 中运行持续集成。最近我们决定在我们的一个 Web 项目中试用 C# 7 元组

该项目在 Visual Studio 中编译得很好,但是当我们将它发送到构建服务器时它会中断。

错误 CS8059:功能“元组”在 C# 6 中不可用。请使用语言版本 7 或更高版本。

我什么都试过了,从更新 nuget 到用头撞墙。

我还安装了所需的 nuget 包:
安装包 Microsoft.Net.Compilers
安装包 System.ValueTuple

当我发现我可以发布每个单独的项目时,我终于有了突破,而且只有在构建整个解决方案时才会中断。

这意味着它可以工作,只是不在解决方案级别。但为什么!?我需要构建整个解决方案以针对我们的代码库运行单元测试。

总结一下:

  • msbuild MySolution.sln 失败!
  • msbuild MyProject.csproj + PublishProfile 工作正常。

最佳答案

我解决了。

我在 Web 项目的调试和发布设置中将语言版本更改为 C# 7。在 project.csproj 文件中。

我还安装了所需的 nuget 包:

// Tells it to compile it according to the selected C# Language version
Install-Package Microsoft.Net.Compilers
// Adds the value tuple support
Install-Package System.ValueTuple
// Tells it to use the Roslyn compiler
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

关于c# - 在构建解决方案而非项目时,C# 7 中的值元组因 MSBuild.exe 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44264440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com