【问题标题】:Build project using devenv.exe in TFS 15RC1 Build Server在 TFS 15RC1 构建服务器中使用 devenv.exe 构建项目
【发布时间】:2016-12-21 18:32:49
【问题描述】:

我无法理解如何从 TFS 构建服务器使用 devenv.exe。

没有使用devenv的默认步骤,所以我尝试使用PowerShell脚本执行带参数的devenv.exe。构建过程中没有错误,但我看到构建结果文件没有更新。 如果我在代理机器上手动执行脚本,则构建成功通过。那是我的脚本:

$process = [System.Diagnostics.Process]::Start( "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe", "/Rebuild ""MyConfig"" ""C:\agent\agent\_work\1\s\MyProject.sln"" /Project ""C:\agent\agent\_work\1\s\MyProject\MyProject.dwproj""") 
$process.WaitForExit()

正如你现在看到的,我不使用变量作为源路径,但如果脚本可以工作,我会使用它。

我还不得不说我找不到任何有错误的日志。也许我不知道在哪里可以找到它们?

所以,

  1. 我在 powershell 脚本中做错了什么?
  2. 在 TFS 构建服务器中使用 devenv.exe 构建项目的最佳做法是什么?

PS 我们使用的是 TFS 15 RC1(版本 15.103.25603.0)。

【问题讨论】:

  • 为什么使用 devenv 而不是 msbuild?
  • @just.ru 我需要构建 SSAS 项目 - .dwproj。 MSBuild 做不到。 =(
  • 您使用的是哪个版本?旧的 XAML 版本还是新的 vNext 版本?
  • @Patrick-MSFT 我想使用 vNext 构建

标签: powershell tfs build-server devenv


【解决方案1】:

目前,在 vNext 构建任务中不支持直接使用 devenv.exe 的内置功能。但似乎会在不久的将来出现:

这不是我们现在正在做的事情,但它确实是 我们会接受拉取请求。

chrisrpatterson 于 1 月 8 日发表评论

我们希望在现有的 Visual Studio Build 任务中输入一个内容 使用 devenv(默认为 false)。如果为真,则采用变体路径 运行代码类似于上面。

bryanmacfarlane 于 1 月 22 日发表评论

来源自 GitHub:

您可以尝试使用 jmacnett 提供的 pull request 来创建自定义构建任务。

【讨论】:

  • 感谢您的回答。好的,不支持直接devenv。但我尝试使用 Powershell 任务和批处理任务来运行 devenv.exe。据我所见,devenv 已启动并正在执行某些操作,但 bin 文件夹中的文件未更新...
  • 在查找 DLL 文件时,是否可以尝试在 /bin 文件夹中添加复制任务?手动复制以解决问题?
【解决方案2】:

我发现它仅在代理作为服务运行时才起作用。当我以交互模式启动代理时,我的任务开始正常工作。为什么? - 我不知道。

【讨论】:

    【解决方案3】:
    $argumentList = ("`"$solnPath`" /$solnCmdSwitch $solnConfigName")
    

    如果是项目,则添加以下内容

    $argumentList += (" /project `"$projPath`" /projectconfig $projConfigName")
    

    查看额外的反引号

    【讨论】:

      猜你喜欢
      • 2018-02-24
      • 2013-05-31
      • 2017-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多