我在詹金斯建立了一个新项目。 当我尝试构建它时,我收到以下错误:
" 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
如何构建我的项目?
由于
答案 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)