2013-09-22 28 views
0

我在使用WatiN的c#中有一个程序。它在我的开发窗口7中编译和运行良好。但是,当我将程序复制到天蓝色的Windows 2012数据中心时,它会在应用程序尝试启动Internet Explorer实例(存在于Windows 2012数据中心内)时抛出异常:无法加载文件或程序集Microsoft.mshtml

System.IO.FileNotFoundException:未能加载文件或组件 'Microsoft.mshtml,版本= 7.0.3300.0文化=中性, 公钥= b03f5f7f11d50a3a' 或它的一个依赖。 系统找不到指定的文件。文件名: 'Microsoft.mshtml, 版本= 7.0.3300.0,文化=中性公钥= b03f5f7f11d50a3a' 在 WatiN.Core.Native.InternetExplorer.IEWaitForComplete.WaitForCompleteOrTimeout() 在WatiN.Core.IE.WaitForComplete(的Int32 waitForCompleteTimeOut)在 WatiN.Core.Browser.GoTo(URI URL)在 WatiN.Core.IE.FinishInitialization(URI URI)

我有点失去了对这个例外,缺什么服务器?

谢谢。

+1

这个问题可能会有所帮助:http://stackoverflow.com/questions/2068159/could-not-load-file-or-assembly-microsoft-mshtml-strong-name-validation-fai –

+0

谢谢,帮助 – Henry

回答

3

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

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

+1

通过添加程序集来修复它。谢谢。 – Henry

相关问题