如何在未安装Visual Studio的计算机上使用MSHTML?

时间:2009-05-20 15:46:17

标签: asp.net asp.net-mvc vb.net iis-6 mshtml

我使用mshtml来解析ASP.NET-MVC应用程序中的HTML。在我的开发机器上运行很好,它安装了VS2008 Professional。在我的登台机上工作得很好,它安装了VS Express 2008 / WebDev。但是,当尝试在没有Visual Studio版本的生产服务器上加载COM对象时,它会抛出FileNotFoundException。

Exception type: FileNotFoundException 
    Exception message: Could not load file or assembly
     

'Microsoft.mshtml,Version = 7.0.3300.0,   文化=中性,   PublicKeyToken = b03f5f7f11d50a3a'或   其中一个依赖项。系统   找不到指定的文件。

我不想在生产盒上安装Visual Studio。我读过一个运行C:\ Program files \ Common Files \ Merge的suggestion modules \ vs_piaredist.exe解决了这个问题,但我的生产盒上不存在此目录。如何在生产机器上使用mshtml?

3 个答案:

答案 0 :(得分:1)

使用dev机器中的vs90_piaredist似乎是解决方案。互操作程序集称为Microsoft.mshtml.dll,它位于C:\ Program Files \ Microsoft.NET \ Primary Interop Assemblies。运行vs90_piaredist在生产机器上创建了这个目录,并在其中放置了5个interop dll,包括Microsoft.mshtml.dll。

thread对此问题进行了一些很好的讨论。

答案 1 :(得分:0)

IE是非托管代码,因此需要有一个互操作层,从托管到非托管。 Primary Interop Assembly(PIA)通常由供应商提供。这就是为什么建议你运行piaredist.exe

答案 2 :(得分:0)

不依赖于mshtml IE吗?生产箱上安装了哪个版本的IE?考虑升级到至少6