我们正在使用Visual Studio 2015和TFS 2015.我们有一个单独的构建服务器,我们在其上部署了构建代理,VS 2015和安装程序项目的MS扩展(在此处{{3} })
我们的解决方案包括许多安装项目。但是,在尝试构建这些项目时,团队构建失败。错误是
验证时发生错误。 HRESULT =' 8000000A'
有一些结果返回搜索此问题的解决方案(包括Stack Overflow上的几个页面),它们几乎归结为将一个为EnableOutOfProcBuild的值添加或设置为0的建议到密钥HKEY_CURRENT_USER \软件\微软\ VisualStudio的\ 14.0_Config \的MSBuild
我们遵循了这个建议,虽然它允许我们从构建机器上的命令行构建安装项目,但它对团队构建没有帮助。请注意,我们已经尝试在各个地方添加注册表设置,但没有人帮助过。另请注意,我们在管理员帐户下运行构建代理服务。
每个设置项目的构建步骤都是带
的命令行参数:$(Build.SourcesDirectory)\ $(system.teamProject)\ Raven.sln / build"发布" /项目
$(Build.SourcesDirectory)\ $(system.teamProject)\ SRC ... \ ourproj.vdproj / projectConfig"发布"
(注意匿名的路径和名称)在构建日志中按预期出现并复制日志命令行并在构建服务器上的命令提示符中执行确实有效。
有什么想法吗?
答案 0 :(得分:1)
是的,请参阅this blog,您需要将0设置为HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\MSBuild\EnableOutOfProcBuild
。
然后我建议在TFS之前执行此操作之前,您必须首先在命令行上使用TFS构建代理服务器,否则构建将永远不会在TFS中工作。
在命令行步骤中,我发现了您需要更改的内容:
您应该确保解决方案路径和项目路径是正确的,并且可以在构建代理服务器上找到它。 $(Build.SourcesDirectory)可能代表'C:\ Agent_work \ 1 \ s'。
确保您使用正确的 devenv.com 来构建解决方案。
答案 1 :(得分:1)
您的EnableOutOfProcBuild是64位还是32位DWORD?我的Visual Studio 2015是32位,我需要将此注册表项设置为32位以修复生成错误。我首先将密钥设置为64位DWORD,但它没有修复构建错误8000000A。我使用nant版本0.92来运行构建脚本。
我不使用64位VS 2015.如果你有64位VS 2015,你可能需要将EnableOutOfProcBuild设置为64位DWORD。
答案 2 :(得分:0)
我和Jenkins CI工具有同样的问题 以下步骤将解决此问题。
[![1.Open Service.msc as administrator
2.go to service for me Jenkins, for you May TFS
3.Right-click and select properties
4.Click on log On tab
5.Select This account and put user and password of your user. Make sure user is available by using Browse.
6.Click Apply and Ok.
7.Restart the service.][1]][1]
它可以解决您的问题。
答案 3 :(得分:0)
我遇到了同样的问题,我通过以下步骤解决了这个问题:
1)在Solution Property Pages窗口中检查setup项目的Build选项并保存解决方案。
2)创建或编辑HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 12.0_Config \ MSBuild \ EnableOutOfProcBuild,使DWORD为0.我安装了VS 2013,所以我查看了“12.0_Config”
3)使用devenv命令再次尝试并获得成功响应
“==========重建全部:2成功,0失败,0跳过==========”
:)
答案 4 :(得分:0)
如果将VSTS / TFS / Azure DevOps Private Agent作为Windows服务运行,请右键单击该服务,然后单击“登录”选项卡,然后使用管理员或您的用户帐户重新登录。然后重新启动服务。它将解决此问题。