TFS - 构建自动化InvokeProcess问题

时间:2011-06-28 09:05:09

标签: tfs iis-express

我在TFS中使用InvokeProcess步骤进行自动化构建设置。在此步骤中,我正在运行批处理(* .bat)文件,该文件在内部启动IISExpress。

我的TFS版本正在运行,它正在启动IISExpress而没有任何问题,但是这个版本不会进入下一步,它正在等待退出代码或批处理文件的响应。如何在TFS构建时覆盖此功能不应等待批处理文件的结果,并且应该继续运行后续步骤。

我已经将InvokeProcess的结果配置为从整数变量中获取,但仍在等待将某些结果发回。

我的批处理文件包含以下代码以启动IISExpress

CD C:\ Program Files \ IIS Express  iisexpress /config:C:\Users\a.b\Documents\IISExpress\config\applicationhost.config / site:CloudWebRole

(CloudWebRole是一个网站)

任何帮助都将不胜感激。

谢谢,

Prav

2 个答案:

答案 0 :(得分:1)

选项-1: 您可以在批处理文件中使用以下命令。

start iisexpress /config:C:\Users\a.b\Documents\IISExpress\config\applicationhost.config /site:CloudWebRole

有一点需要注意的是,它会弹出一个iisexpress.exe控制台窗口。

选项-2: 如果不想看到弹出控制台窗口,请编写一个简单的托管包装程序(比如iisexpresswrapper.exe),它只在后台启动带有给定参数的iisexpress.exe并立即返回。

答案 1 :(得分:0)

好吧,我认为你不再需要这个,但我今天遇到了同样的问题并找到了解决方案:

  1. 创建并行
  2. 在Parallel上创建变量(图片中为BuildFinished)并填充Parallel的CompletionCondition
  3. 在构建过程'finally
  4. 中将True赋予BuildFinished

    像这样:

    TFSBUILD