使用MSBuild从Jenkins构建.NET标准库

时间:2017-10-09 16:49:40

标签: .net jenkins msbuild .net-standard

使用某些.NETStandand库构建MazeCreator解决方案在从jenkins构建时会引发thousands错误,抱怨BCL类型:

error CS0518: Predefined type 'System.Enum' is not defined or imported
error CS0518: Predefined type 'System.Int32' is not defined or imported
error CS0518: Predefined type 'System.Object' is not defined or imported 

VsDevCmd.bat设置的所有环境变量都已在Jenkins上正确设置。

构建正在调用:

nuget restore
msbuild MazeCreator.sln /p:Configuration=Release

Developer Command Prompt for VS

起,效果很好

从命令行构建工作正常,AppVeyorLinux和Mac上的构建也是绿色。

2 个答案:

答案 0 :(得分:0)

似乎问题与Jekins服务权限有关。

更改后Jenkin Service登录(MSBuild - Jenkins - Nuget integration

的方式

nuget可以正确恢复.NETStandard依赖项,现在构建为绿色。

答案 1 :(得分:0)

我们已将NuGet.exe检入版本为 3.4.4-rtm-1321 的SVN源代码树。

然后,使用此命令将其更新为NuGet.exe 4.7.1 ,然后我们的构建再次开始在Jenkins上运行:

NuGet.exe update -self

顺便说一句,我们没有将 Jenkins 作为服务运行,而是将其作为用户进程运行,因此我们可以进行某些 DirectX 单元测试,在会话0中完成。