IIS Express将无法在TFS Build Server上运行

时间:2014-03-07 10:02:08

标签: unit-testing iis tfs tfsbuild tfs2013

我在设置项目的持续集成时遇到了问题( C# - Web - Visual Studio 2013 - TFS 2013 )。

我有一个自定义构建定义( Gated Check-In ),它在TFS服务器上的每次提交之前运行测试。

要实现测试,我必须启动4个IIS Express站点,这是我使用命令行执行的操作。

在我的计算机上本地工作正常但是当我通过 Gated Check-In 版本使用相同的命令时,IIS Express窗口会打开并立即关闭。显然,网站没有运行。

如果我从命令行在Build Server上运行相同的命令,它运行良好,就像在本地一样,我可以毫无问题地运行测试。

过去有没有人遇到过类似的问题?

度过愉快的一天

LEOP

2 个答案:

答案 0 :(得分:1)

经过几个小时的研究,我可以自己回答我的问题......

能够在构建服务器上启动IIS Express站点(或更多)的正确方法是使用 xcopy 选项复制/粘贴二进制文件的文件文件夹进入 Sources \ YourProjectName 文件夹。

我是在 post-build事件选项中使用此命令行完成的(右键单击 - 属性(在项目的主节点上)):

xcopy /y "$(TargetDir)*.*" "..\Sources\*YourProjectName*\bin\" /r /s

度过愉快的一天

LEOP

答案 1 :(得分:0)

你有2个选择(可能超过2个,但这些是我使用的两个)。

  1. 自动将您的网站部署到IIS并在测试之前在构建期间运行
  2. 使用单元测试中的属性自动启动进程内Web服务器
  3. 第二个选项可能就是你要找的东西。您可以在测试用例中使用属性组合来指示某些网站/服务需要为该测试运行(主要是AspNetDevelopmentServer属性)。

    您可以在此处阅读MSDN文档:http://msdn.microsoft.com/en-us/library/ms243399(v=vs.100).aspx