Jenkins 构建 C# 项目失败
问题:Jenkins 构建 C# 项目失败
我正在尝试从 jenkins 构建一个包含 2 个项目的 Visual Studio 2017 解决方案:ASP.NET 和测试项目。
如果您需要更多详细信息,请告诉我。
配置:


控制台输出中的错误:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets(316,9):错误 MSB4062:无法从程序集 C 加载“Microsoft.CodeAnalysis.BuildTasks.Csc”任务: \Program Files (x86)\Jenkins\workspace\new 3\packages\Microsoft.Net.Compilers.2.1.0\build..\tools\Microsoft.Build.Tasks.CodeAnalysis.dll。无法加载文件或程序集“Microsoft.Build.Utilities.Core, Versionu003d14.0.0.0, Cultureu003dneutral, PublicKeyTokenu003db03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。确认声明正确,程序集及其所有依赖项都可用,并且任务包含实现 Microsoft.Build.Framework.ITask 的公共类。 [C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj]
C:\Program Files (x86)\Jenkins\workspace\new 3\packages\Microsoft.Net.Compilers.2.1.0\build\Microsoft.Net.Compilers.props(13,5):错误:Microsoft.Net。仅 MSBuild v14.0 及更高版本支持编译器 [C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj]
完整的控制台输出:
由用户 stav alfi 开始在工作区 C:\Program Files (x86)\Jenkins\workspace\new 3 中构建
git.exe rev-parse --is-inside-work-tree # timeoutu003d10 从远程 Git 存储库获取更改 git.exe config remote.origin.urlhttps://github.com/stavalfi/c\ _sharp_example_project.git# timeoutu003d10 从获取上游更改 https://github.com/stavalfi/c_sharp_example_project.gitgit.exe --version # timeoutu003d10 git .exe fetch --tags --progresshttps://github.com/stavalfi/c_sharp_example_project.git+refs/heads/:refs/remotes/origin/ git.exe rev- parse "refs/remotes/origin/master^{commit}" # timeoutu003d10 git.exe rev-parse "refs/remotes/origin/origin/master^{commit}" # timeoutu003d10 Checking out Revision a70858995d5557ae1483965072e2a66833f9979d (refs/ remotes/origin/master) git.exe config core.sparsecheckout # timeoutu003d10 git.exe checkout -f a70858995d5557ae1483965072e2a66833f9979d 提交消息:“添加项目文件。” git.exe rev-list a70858995d5557ae1483965072e2a66833f9979d # timeoutu003d10 [new 3] $ cmd /c call C:\WINDOWS\TEMP\jenkins5187263831491564261.bat
C:\Program Files (x86)\Jenkins\workspace\new 3>nuget restore MSBuild auto-detection: using msbuild version '15.3.409.57025' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise \MSBuild\15.0\bin'。 packages.config 中列出的所有软件包都已安装。
C:\Program Files (x86)\Jenkins\workspace\new 3>exit 0 MSBuild.exe 的路径:C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe 执行命令 cmd.exe / C " chcp 1252 && C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe /p:VisualStudioVersionu003d12.0 WebApplication2.sln " && exit %%ERRORLEVEL%% from C:\Program Files (x86)\ Jenkins\workspace\new 3 [new 3] $ cmd.exe /C " chcp 1252 && C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe /p:VisualStudioVersionu003d12.0 WebApplication2.sln " && exit %%ERRORLEVEL%% 活动代码页:1252 Microsoft (R) Build Engine 版本 4.7.2053.0 [Microsoft .NET Framework,版本 4.0.30319.42000] 版权所有 (C) Microsoft Corporation。版权所有。
一次构建此解决方案中的项目。要启用并行构建,请添加“/m”开关。构建开始于 2017 年 4 月 10 日 19:16:39。节点 1 上的项目“C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.sln”(默认目标)。 ValidateSolutionConfiguration:构建解决方案配置“调试|任何 CPU”。项目“C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.sln”(1) 正在构建“C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj” (2) 在节点 1(默认目标)上。项目文件包含 ToolsVersionu003d"15.0"。此工具集可能未知或丢失,在这种情况下,您可以通过安装适当版本的 MSBuild 来解决此问题,或者出于政策原因,该构建可能已被强制使用特定的 ToolsVersion。将项目视为拥有 ToolsVersionu003d"4.0"。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkIdu003d291333。 GenerateTargetFrameworkMonikerAttribute:跳过目标“GenerateTargetFrameworkMonikerAttribute”,因为所有输出文件相对于输入文件都是最新的。 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets(316,9):错误 MSB4062:无法从程序集 C:\ 加载“Microsoft.CodeAnalysis.BuildTasks.Csc”任务程序文件 (x86)\Jenkins\workspace\new 3\packages\Microsoft.Net.Compilers.2.1.0\build..\tools\Microsoft.Build.Tasks.CodeAnalysis.dll。无法加载文件或程序集“Microsoft.Build.Utilities.Core, Versionu003d14.0.0.0, Cultureu003dneutral, PublicKeyTokenu003db03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。确认声明正确,程序集及其所有依赖项都可用,并且任务包含实现 Microsoft.Build.Framework.ITask 的公共类。 [C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj]Done Building Project "C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj "(默认目标)——失败。项目“C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.sln”(1) 正在构建“C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.Tests\WebApplication2.节点 1(默认目标)上的 Tests.csproj" (3)。项目文件包含 ToolsVersionu003d"15.0"。此工具集可能未知或丢失,在这种情况下,您可以通过安装适当版本的 MSBuild 来解决此问题,或者出于政策原因,该构建可能已被强制使用特定的 ToolsVersion。将项目视为拥有 ToolsVersionu003d"4.0"。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkIdu003d291333。项目“C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.Tests\WebApplication2.Tests.csproj”(3) 正在构建“C:\Program Files (x86)\Jenkins\workspace\new 3\节点 1 上的 WebApplication2\WebApplication2.csproj" (2:2)(默认目标)。项目文件包含 ToolsVersionu003d"15.0"。此工具集可能未知或丢失,在这种情况下,您可以通过安装适当版本的 MSBuild 来解决此问题,或者出于政策原因,该构建可能已被强制使用特定的 ToolsVersion。将项目视为拥有 ToolsVersionu003d"4.0"。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkIdu003d291333。 C:\Program Files (x86)\Jenkins\workspace\new 3\packages\Microsoft.Net.Compilers.2.1.0\build\Microsoft.Net.Compilers.props(13,5):错误:Microsoft.Net.Compilers仅在 MSBuild v14.0 及更高版本上受支持 [C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj] Done Building Project "C:\Program Files (x86)\Jenkins\ workspace\new 3\WebApplication2\WebApplication2.csproj”(默认目标)——失败。完成构建项目“C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.Tests\WebApplication2.Tests.csproj”(默认目标)——失败。完成构建项目“C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.sln”(默认目标)——失败。
构建失败。
"C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.sln" (默认目标) (1) -> "C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\ WebApplication2.csproj" (默认目标) (2) -> (CoreCompile 目标) -> C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets(316,9): error MSB4062: The " Microsoft.CodeAnalysis.BuildTasks.Csc”任务无法从程序集 C:\Program Files (x86)\Jenkins\workspace\new 3\packages\Microsoft.Net.Compilers.2.1.0\build..\tools\ 加载Microsoft.Build.Tasks.CodeAnalysis.dll。无法加载文件或程序集“Microsoft.Build.Utilities.Core, Versionu003d14.0.0.0, Cultureu003dneutral, PublicKeyTokenu003db03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。确认声明正确,程序集及其所有依赖项都可用,并且任务包含实现 Microsoft.Build.Framework.ITask 的公共类。 [C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj]
"C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2.sln" (默认目标) (1) -> "C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2. Tests\WebApplication2.Tests.csproj" (默认目标) (3) -> "C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj" (默认目标) (2:2) - >(ValidateMSBuildToolsVersion 目标)-> C:\Program Files (x86)\Jenkins\workspace\new 3\packages\Microsoft.Net.Compilers.2.1.0\build\Microsoft.Net.Compilers.props(13,5):错误:Microsoft.Net.Compilers 仅在 MSBuild v14.0 及更高版本上受支持 [C:\Program Files (x86)\Jenkins\workspace\new 3\WebApplication2\WebApplication2.csproj]
0 个警告
2 个错误
经过时间 00:00:00.37 构建步骤“使用 MSBuild 构建 Visual Studio 项目或解决方案”将构建标记为失败已完成:失败
解答
错误
Microsoft.Net.Compilers 仅在 MSBuild v14.0 及更高版本上受支持
很有说服力。您正在尝试使用 Nuget C# 编译器(可能是 C# 7),但在 VS 2015(MSBuild 14)中引入了对 Nuget 编译器的支持。您需要让您的 Jenkins 项目使用该版本的 MSBuild 或更高版本。
如果您有权访问构建从站;到达那里的最简单方法是在其上安装 Visual Studio 2015 或更高版本的社区版并指向安装的 MSBuild。
更多推荐
所有评论(0)