Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS 2010构建中解决方案目录的变量(或接近的内容)_Tfs_Tfsbuild - Fatal编程技术网

TFS 2010构建中解决方案目录的变量(或接近的内容)

TFS 2010构建中解决方案目录的变量(或接近的内容),tfs,tfsbuild,Tfs,Tfsbuild,我在构建结束时运行Invoke命令。我试图让它运行一个批处理文件 但我不想硬编码批处理文件的路径(以防我将构建移动到其他构建服务器) 我需要为IvokeProcess的WorkingDirectory输入一个变量。在TFS2008构建中,我会使用$(SolutionDir)。但我在TFS2010构建中找不到类似的东西。(我尝试了Environment.CurrentDirectory,得到了C:\Windows\System32 如何获取对解决方案(或项目)所在路径的引用 我建议您不要将注意力集

我在构建结束时运行Invoke命令。我试图让它运行一个批处理文件

但我不想硬编码批处理文件的路径(以防我将构建移动到其他构建服务器)

我需要为IvokeProcess的WorkingDirectory输入一个变量。在TFS2008构建中,我会使用
$(SolutionDir)
。但我在TFS2010构建中找不到类似的东西。(我尝试了Environment.CurrentDirectory,得到了C:\Windows\System32

如何获取对解决方案(或项目)所在路径的引用


我建议您不要将注意力集中在您试图完成的任务类型的“工作目录”上。

您可以打开构建过程模板并添加一个新参数(type=string,Direction=In),默认值等于批处理文件的当前完整路径

然后在InvokeProcess活动的参数中设置此参数

在默认值中,我只是简单地设置了“C:\ProgramFiles\NCover\NCover.Console.exe”

现在,每个构建定义都有一个额外的参数(在“进程”下),默认值是当前有意义的参数


如果我们移动到另一个构建服务器,我只需更新构建定义。

我使用的是
$(SolutionDir)
在生成后事件中,它是否正常工作。您遇到的具体错误是什么?我这样做了。但我不喜欢它,因为批处理文件已签入源代码。每次从TFS下载时,让生成定义的创建者提供指向它的路径似乎毫无意义。