无法加载文件或程序集Microsoft.mshtml

时间:2013-09-22 04:28:00

标签: windows internet-explorer azure watin

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

  

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

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

感谢。

1 个答案:

答案 0 :(得分:3)

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

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