Jenkins构建失败 - 缺少文件Microsoft.Build.Utilities.Core

时间:2017-06-07 14:02:17

标签: .net visual-studio jenkins msbuild csc

我在詹金斯建立了一个新项目。 当我尝试构建它时,我收到以下错误:

  

" E:\詹金斯\工作空间\ MWAPIv1 \ My.WebAPIv1.sln" (默认目标)(1) - >   " E:\詹金斯\工作空间\ MWAPIv1 \ My.WebAPIv1 \ My.WebAPIv1.csproj" (默认目标)(2) - >   (CoreCompile目标) - >     C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.CSharp.targets(316,9):错误MSB4062:" Microsoft.CodeAnalysis.BuildTasks.Csc"无法从程序集E:\ Jenkins \ workspace \ MWAPIv1 \ packages \ Microsoft.Net.Compilers.2.2.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll加载任务。无法加载文件或程序集' Microsoft.Build.Utilities.Core,Version = 14.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。该系统找不到指定的文件。确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类。 [E:\詹金斯\工作空间\ MWAPIv1 \ My.WebAPIv1 \ My.WebAPIv1.csproj]

该项目使用NET 4.5.2 Framework。

其他一些可能有用的信息: 由于错误提到了丢失的dll,我检查了所有文件,包括包文件夹和内容到SVN,但这没有帮助。 我还更新了VS2015中的所有Nuget软件包,并检查了所有更新。 Jenkins的项目配置是: MSBuild Version: Microsoft.NET Framework v4.0 MSBuild Build File: My.WebAPIv1.sln Command Line Arguments: /p:VisualStudioVersion=14.0

我的Jenkins服务器中存在以下文件夹:

  

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ TeamBuild

     

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v9.0

     

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0

     

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0

如何构建我的项目?

由于

1 个答案:

答案 0 :(得分:2)

您的构建正在使用.net框架提供的MSBuild版本(4.0.30319)运行,该版本非常陈旧且具有Microsoft.Net.Compilers NuGet包所需的不同体系结构,您似乎用它来覆盖旧构建目标使用较新的编译器。

使用较新版本的MSBuild来实现此目的,例如VS 2015在C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe安装的那个(替代方案:安装并使用"构建工具用于visual studio" 2015或2017)