使用VS Online“命令行”任务和相对路径

时间:2015-06-21 21:40:53

标签: build nuget azure-devops

我正在尝试使用新的VS Online Build流程,特别是将我的应用程序打包为NuGet包。

为此,我必须执行类似“nuget pack”的操作。我的源代码在GitHub中,在根文件夹下,我有一个名为.nuget的文件夹,里面都有必要进行打包。

我在构建模板中添加了一个带有以下参数的“命令行”步骤:

  • 工具:C:\ a \ 9ea8689c \ myusername \ myproject.nuget \ nuget.exe
  • 参数:pack

其他所有内容都是默认值,包括工作文件夹。这有效。但是,当我试图替换“.nuget / nuget.exe”或.nuget / nuget.exe之类的绝对路径,甚至将工作文件夹更改为.nuget时,只需在其中键入“nuget.exe”因为无法找到工具而失败。

我错过了什么吗?该任务应该与相对路径一起工作吗?

2 个答案:

答案 0 :(得分:2)

您应该使用TF_BUILD_BUILDDIRECTORY.

TFS Environment Variables的绝对路径

在批处理文件中,它类似于

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

答案 1 :(得分:0)

这对我有用:$(BUILD.SOURCESDIRECTORY)\NuGet.exe。 注意点而不是下划线。我把我的NuGet.exe放在主存储库文件夹中,在我的案例中是NuGet 3.5 Beta。

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