2016-08-15 158 views
1

我在理解如何使用TFS構建服務器中的devenv.exe時遇到了麻煩。在TFS中使用devenv.exe構建項目15RC1構建服務器

沒有使用devenv的默認步驟,所以我嘗試使用PowerShellsсript通過參數執行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 Build Server中使用devenv.exe構建項目的最佳做法是什麼?

PS我們正在使用TFS 15 RC1(版本15.103.25603.0)。

+0

爲什麼使用而不是MSBuild的devenv的? –

+0

@ just.ru我需要建立SSAS項目 - .dwproj。 MSBuild無法做到這一點。 =( – Nick

+0

你正在使用哪種構建?舊的XAML構建或新的vNext構建? –

回答

0

我發現它只有在代理作爲服務運行時才起作用。當我以交互模式啓動代理時,我的任務開始正常工作。爲什麼? - 我不知道。

0

目前,沒有此內置功能可支持在vNext構建任務中直接使用devenv.exe。但似乎將在不久的將來:

這不是我們正在處理的東西,但它是 ,我們將採取拉請求。

chrisrpatterson評論1月8日

我們希望在現有的Visual Studio生成的任務,說 使用devenv的(默認爲false)的輸入。如果屬實,則採用與上述類似的變體路徑 運行代碼。

bryanmacfarlane於1月22日評論從GitHub

來源:

你可以嘗試使用pull request提供由jmacnett這創建一個自定義構建任務。

+0

感謝您的回答 好的,直接devenv不受支持。使用Powershell任務和批處理任務來運行devenv.exe。據我所見devenv已經啓動並正在做某些事情,但bin文件夾中的文件沒有更新... – Nick

+0

您可以嘗試添加一個複製任務目標在查找DLL文件時的/ bin文件夾?手動複製以解決該問題? –

0
$argumentList = ("`"$solnPath`" /$solnCmdSwitch $solnConfigName") 

,如果項目再添加如下因素

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

見額外的反引號