C# 在Windows 2008服务器上通过TFS登录

C# 在Windows 2008服务器上通过TFS登录,c#,.net,tfs,windows-server-2008,watin,C#,.net,Tfs,Windows Server 2008,Watin,我试图通过TFS上的连续构建来运行WatiN测试,但我无法让它工作。我得到的错误如下: WatiN.Core.Exceptions.IENotFoundException : Could not find an IE window matching constraint: Timeout while waiting to attach to newly created instance of IE.. Search expired after '30' seconds. at Wati

我试图通过TFS上的连续构建来运行WatiN测试,但我无法让它工作。我得到的错误如下:

WatiN.Core.Exceptions.IENotFoundException : Could not find an IE window matching constraint: Timeout while waiting to attach to newly created instance of IE.. Search expired after '30' seconds.
     at WatiN.Core.IE.CreateIEPartiallyInitializedInNewProcess()
     at WatiN.Core.IE.CreateNewIEAndGoToUri(Uri uri, IDialogHandler logonDialogHandler, Boolean createInNewProcess)
     at WatiN.Core.IE..ctor(String url, Boolean createInNewProcess)
我读到这可能是

  • 对“localhost”的请求将被解析 默认情况下连接到::1的IPv6地址 而不是的IPv4地址 127.0.0.1和WatiN试验将失败
事实并非如此,因为我正在测试一个不在本地机器上的公共URL

  • IE增强的安全配置已打开
我已经关掉了,没有任何结果

  • 缺少文件Microsoft.mshtml.dll、Interop.shdocvw.dll或Watin.Core.dll
检查,再检查!我在运行测试的输出目录中有这些文件

最后一个也是最后一个测试是以运行构建、执行NUnit测试套件并手动运行测试的用户身份登录

C:\Users\TFSSERVICE>"C:\Program Files\Nunit 2.5.2\bin\net-2.0\nunit-console.exe"
 /nologo C:\Users\BUILDSERVICE\AppData\Local\Temp\\Continuous\Binaries\Release
\\WebTests.dll
猜猜看!它可以作为tfs构建用户手动执行它们。那么,我错过了什么?你知道为什么我运行msbuild引擎时它总是超时吗

欢迎任何想法!
Mikael

根据错误判断,它正在寻找一个Internet Explorer窗口。如果构建过程正在由服务运行,它将无法找到它

编辑:之前我说过我不知道如何解决这个问题。

虽然我不知道,佩奇知道。查找标题为“自动化UI测试”的部分。这应该也适用于WatiN。

在调试WatiN之后,我找到了此问题的原因。
原因是缺少dll:Microsoft.mshtml.dll

Windows Server 2008板上没有此文件,因此会出现此类错误。

解决方案:
-从Windows 7获取Microsoft.mshtml.dll

-复制到应用程序根目录。

你是我的英雄!非常感谢。这正是我的问题,解决办法比我想象的要简单。谢谢你!如果有什么帮助的话,我在发布一个关于允许构建服务与桌面交互的建议,当我找到我链接的文章时,我正在寻找该服务的名称。我真走运。我之前也在寻找从TFS构建服务运行UI单元测试的方法,所以我很高兴找到了它。