【问题标题】:MSBuild - Jenkins - Nuget integrationMSBuild - 詹金斯 - Nuget 集成
【发布时间】:2014-08-27 09:49:08
【问题描述】:

我们在使用 Jenkins 和 MSBuild 时遇到了一些奇怪的行为。 手动输入命令行来构建 build.xml 项目时:

msbuild build.xml /T:Package /P:PublishProfile=Test /P:Platform="AnyCPU" 
                  /P:VisualStudioVersion=12.0

构建过程完全按预期工作(构建、打包等)
但是,如果我使用 Jenkins 完全执行此操作 - 也就是说 - 打开命令行并运行此确切命令,我会收到一条错误消息:

The command ""..\.nuget\NuGet.exe" install 
"C:\Jenkins\jobs\.....\workspace\MYPROJECT\packages.config" 
-source ""  -NonInteractive -RequireConsent -solutionDir "..\ "" exited with code 1

即使我使用内置的 jenkins 插件来运行命令(无论我使用哪种 parma 组合),它仍然没有。
我知道以下两个听起来像是一个解决方案,但它们不起作用:

  1. 权限! - 我的服务器始终以管理员身份运行。
  2. 在 NuGet 上从 VS 启用包还原 - 已经做到了!

任何想法都会很棒!!!

【问题讨论】:

    标签: jenkins msbuild nuget-package-restore


    【解决方案1】:

    这是答案,花了很长时间才解决,感谢@adarshr我意识到问题是因为Jenkins runner的用户(即jenkins服务)和我的用户之间的差异。为了解决这个问题,我让 Jenkins 以相同的用户身份运行并且一切正常!

    一步一步:

    1. 转到控制面板 -> 系统和安全 -> 管理工具
    2. 点击服务快捷方式。
    3. 右键单击 Jenkins 服务并选择属性。
    4. 导航到“登录”选项卡。
    5. 单击以该用户身份运行并填写您的凭据。
    6. 重启 Jenkins。

    像魅力一样工作!

    【讨论】:

      猜你喜欢
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多