【发布时间】:2017-11-08 22:31:10
【问题描述】:
我在 Jenkins 中建立了一个新项目。 当我尝试构建它时,出现以下错误:
“E:\Jenkins\workspace\MWAPIv1\My.WebAPIv1.sln”(默认目标)(1)-> “E:\Jenkins\workspace\MWAPIv1\My.WebAPIv1\My.WebAPIv1.csproj”(默认目标)(2)-> (CoreCompile 目标)-> C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets(316,9):错误 MSB4062:无法从程序集 E:\ 加载“Microsoft.CodeAnalysis.BuildTasks.Csc”任务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:\Jenkins\workspace\MWAPIv1\My.WebAPIv1\My.WebAPIv1.csproj]
该项目使用 NET 4.5.2 框架。
其他一些可能有用的信息:
由于错误提到缺少 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
对如何构建我的项目有任何想法吗?
谢谢
【问题讨论】:
-
你试过马丁的建议了吗?他的回答对你有帮助吗?如果没有,请让我们知道这个问题的最新状态。
-
对我来说这个特定问题的解决方案是删除两个 nuget 包:
Microsoft.Net.Compilers和Microsoft.CodeDom.Providers.DotNetCompilerPlatform然后签入。然后在 Jenkins 中构建好。但是,我在 MVC 项目中遇到了同样的问题,删除上述包会导致我的项目提供 500 错误页面。我会为此尝试 Martins 解决方案。
标签: .net visual-studio jenkins msbuild csc