3

我们正在将我们的 TFS 2013 服务器升级到 TFS 2015。在这方面,我在尝试使用我们的 XAML 模板构建脚本(创建在 TFS 2013 中)。

我们的大多数解决方案在构建时都使用上述模板。解决方案(遗憾的是,仍然)使用安装项目 (.vdproj) 为应用程序生成 MSI 包。为给定的应用程序构建设置项目并生成 MSI;我们在模板构建脚本中调用devenv.exe(在我们的例子中,它指向 Visual Studio 2013):

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe /Build "Release|Any CPU" "d:\<path_to_solution>\solution.sln" /Out c:\temp\out.log

但是,在我们的新构建代理上没有生成 MSI,调用devenv.exe既不会产生任何输出,也不会产生任何错误消息。但是,如果我尝试调用devenv.com,它会开始构建,但仍然没有生成 MSI。

当事情开始使用devenv.com构建时,它似乎完全忽略了安装项目(我已经检查了构建配置,并检查了安装项目是否在“Release|Any CPU”配置上构建)。

我查看了构建日志、构建过程活动日志,还尝试在构建代理上手动执行这些步骤,但我找不到任何可以为我指明可能导致的方向的东西问题。

有谁知道这可能是什么原因?这可能是 TFS Build 2015 的问题吗?旧设置和新设置之间的唯一区别 - 据我所知 - 如下:

  1. VS 2013 安装在 C: 而不是 D: 在新的构建代理上,即devenv的路径会有所不同,但只要构建脚本在正确的位置查找并找到它,这无关紧要......
  2. 我们使用与旧设置不同的放置位置

感谢我能得到的任何帮助和建议。

4

2 回答 2

0

问题解决了,现在一切都在成功构建。我没有很好地查看我们在用于 TFS Build 2013 的构建代理上的设置与我们为 TFS Build 2015 设置的设置之间的差异。

首先,为了能够在 VS 2013 中构建安装项目,需要在构建代理上安装Visual Studio 2013 Installer Projects 扩展。

但是,此扩展存在一些错误,这些错误通常会导致构建设置项目产生以下错误消息:“验证时发生错误。HRESULT = '8000000A' ”。可以通过修改注册表来修复此错误,如此 SO post中所述。

但是,使用 devenv.exe 构建安装项目仍然不起作用。我还没有弄清楚为什么。

于 2015-10-04T13:35:22.660 回答
0

使用 TFS 2015 中的 Vnext 构建来构建.vdproj. 您只需要添加一个额外的构建步骤,即“命令行”,然后调用devenv.com构建。这样,

工具 :

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com 

论据:

HelloWorldTestInstaller\HelloWorldTestInstaller.vdproj /build release

这将对您有所帮助。

于 2017-03-27T06:38:04.957 回答