使用 MSBuild 从 Jenkins 构建 .NET Standard 库

Building .NET Standard Library from Jenkins using MSBuild

从 jenkins 构建时构建 MazeCreator solution with some .NETStandand libraries throws a 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

开始工作正常

从命令行构建工作正常,构建在 AppVeyor, Linux 和 Mac.

上也是绿色的

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

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

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

我们 NuGet.exe 签入了版本 3.4.4-rtm-1321.

的 SVN 源代码树

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

NuGet.exe update -self

顺便说一句,我们不 运行 Jenkins 作为服务,我们 运行 它作为用户进程,所以我们可以 DirectX 无法在会话 0 中完成的单元测试。