0

我在我的 VS2010 解决方案中设置了一个单元测试项目和几个网站。这些网站用于托管 WCF 服务,并在解决方案中配置为使用静态端口号,以便我的测试项目知道找到它们的地址。网站在 VS 开发服务器下运行,而不是 IIS。这在我的机器上以及通过 VS 运行测试项目的任何其他开发人员都非常有效。但是,当 TFS 构建服务器尝试运行项目时,它似乎忽略了我的网站静态端口号。

我在事件日志中看到错误,表明构建服务器正在尝试在我未指明的端口号上启动我的网站。我检查了构建目录,并在包含测试项目程序集的目录中找到了网站的文件,但没有迹象表明解决方案文件在任何地方都被引用,这是 VS 用来包含静态端口号的机制。在运行一组单元测试时,我有没有办法指定 TFS 构建服务器将使用哪些端口从开发 Web 服务器中托管我的网站?

另外,如果听起来我试图以错误的方式解决这个问题,请告诉我。这是我第一次使用 TFS 构建服务器,我真的希望能够让我的自动化单元测试能够以某种方式调用我的 WCF 服务。

4

1 回答 1

0

因此,我通过在我的测试代码中调用 WebDev.WebServer40.exe 作为一个进程来解决这个问题,以使用 ASP.Net 开发服务器启动我的网站。这非常棘手,因为我必须在运行时使用许多线索动态确定网站文件的位置,因为它在我的本地开发环境和构建服务器之间是不同的。我真的希望有一种方法可以只使用 AspNetDevelopmentServerAttribute 来指定一个已知的端口号。

于 2011-03-24T13:26:47.053 回答