1

我有一个使用 WatiN 的 c# 程序。它在我的开发 Windows 7 中编译并运行良好。但是,当我将程序复制到 azure 中的 Windows 2012 数据中心时,当应用程序尝试启动 Internet Explorer 实例(存在于 Windows 2012 数据中心)时,它会引发以下异常:

System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.mshtml,版本=7.0.3300.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。文件名:WatiN.Core.Native.InternetExplorer.IEWaitForComplete.WaitForCompleteOrTimeout() 处 WatiN.Core.IE.WaitForComplete(Int32 waitForCompleteTimeOut) 处的“Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” .Core.Browser.GoTo(Uri url) 在 WatiN.Core.IE.FinishInitialization(Uri uri)

我对这个异常有点迷茫,服务器上缺少什么?

感谢。

4

1 回答 1

3

它是安装在任何开发机器上的 GAC 中的标准互操作程序集。不完全确定它是如何到达那里的,很可能是 VS 安装程序将它放在那里。但它不会在该 Azure 节点上的 GAC 中。

打开项目的引用节点并选择 Microsoft.mshtml 条目。将复制本地属性更改为 True。重新构建,您现在将在构建目录中拥有该程序集的副本。将其与其余可执行文件一起复制到 Azure 节点。

于 2013-09-22T10:00:16.043 回答