我们有一个带有 MVC5 应用程序的解决方案,我正在尝试使用 ThoughtWorks Go 持续交付系统来签出、编译和使用 WebDeploy 来发布网站。
目前,我在作业中有一个MSBuild任务来完成所有这些操作,但是NuGet包还原部分失败了。
我不想将实际的包提交到我们的源代码管理中,我希望 NuGet 完成它的工作并去做它。
Go 中的错误日志显示以下内容:
当我登录到 GoC:\程序文件 (x86)\Go Agent\pipelines\Target-Web.nuget\NuGet.targets(100,9):错误MSB3073: 命令"...nuget\NuGet.exe" install "C:\Program Files (x86)\Go Agent\pipelines\Target-Web\MyProject.Web\packages.config" -源 " -非交互式 -要求同意 -解决方案目录 "..\ " 以代码 1 退出。[C:\程序文件 (x86)\Go Agent\pipelines\Target-Web\MyProject.Web\MyProject.Web.csproj]
服务器和 Go 代理作为 Go 运行的帐户时,我可以按预期从给定位置运行 MSBuild 命令。
这是 Go 尝试运行的任务
[go] Start to execute task: <exec command="%Windir%Microsoft.NETFramework64v4.0.30319MsBuild.exe" >
<arg>MyProjectMyProject.csproj</arg>
<arg>/p:DeployOnBuild=true</arg>
<arg>/p:PublishProfile=UAT1</arg>
<arg>/m</arg>
</exec>
我终于发现 Go 代理正在运行本地服务,而此帐户似乎没有相关权限。 一旦我将帐户更改为以更高权限运行,问题就解决了。