2015-06-21 26 views
2

我正在嘗試使用新的VS聯機構建過程,特別是,我的應用程序作爲NuGet包打包。使用VS在線「命令行」任務與相對路徑

爲此,我必須執行諸如「nuget pack」之類的操作。我的源代碼位於GitHub中,在根文件夾下,我有一個名爲.nuget的文件夾,包含所有必要的文件。

我已經添加到我的構建模板 「命令行」 的步驟與此參數:

  • 工具:C:\ A \ 9ea8689c \名爲myusername \ myproject.nuget \ nuget.exe
  • 參數:包

其他一切都是默認值,包括工作文件夾。這工作。但是,當我試圖替換諸如「.nuget/nuget.exe」或.nuget/nuget.exe的絕對路徑,或者甚至將工作文件夾更改爲.nuget並從那裏只需鍵入「nuget.exe」因爲找不到該工具而失敗。

我錯過了什麼嗎?該任務是否適用於相對路徑?

回答

2

你應該使用絕對路徑利用TFS Environment VariablesTF_BUILD_BUILDDIRECTORY.

在一個批處理文件,它是一樣的東西

echo Launching my own NuGet copy 
%TF_BUILD_BUILDDIRECTORY%\myproject.nuget\nuget.exe 
+0

對於VS在線vNext的更具體的描述構建環境變量,檢查了這一點:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/overview –

+1

在我的vNext 2015版本,我只能從源代碼變量中得到值,沒有領先的TF_ ...就像這個$(BUILD_SOURCESDIRECTORY)。 –

0

這爲我工作:$(BUILD.SOURCESDIRECTORY)\NuGet.exe。 注意點而不是下劃線。我已將NuGet.exe放入主儲存庫文件夾,在我的情況下是NuGet 3.5 Beta。

http://i.stack.imgur.com/5Vskd.png