首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法加载文件或程序集的Microsoft.mshtml ...强名称验证失败

无法加载文件或程序集的Microsoft.mshtml ...强名称验证失败
EN

Stack Overflow用户
提问于 2010-01-15 06:57:00
回答 4查看 50.2K关注 0票数 19

我做了一个WPF/C#程序,我正在使用internet控件来编辑WYSIWYG HTML。

它是一个常规的可执行程序。

它可以在大多数计算机上运行,但是一些计算机会给我以下错误。

无法加载文件或程序集“Microsoft.mshtml,Version=7.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。强名称验证失败。

'Microsoft.mshtml.dll‘文件随程序一起分发。它与所有其他必需的all位于与exe文件相同的文件夹中。

以下是Fuslogvw的输出

代码语言:javascript
复制
*** Assembly Binder Log Entry  (1/14/2010 @ 6:36:51 PM) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable  C:\Documents and Settings\office\Desktop\Database\DATABASE.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = CAMPUSREMOTE\office
LOG: DisplayName = Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 (Fully-specified)
LOG: Appbase = file:///C:/Documents and Settings/office/Desktop/Database/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = DATABASE.exe
Calling assembly : ChabadOnCampusMainFrontEnd, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: Start binding of native image Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
WRN: No matching native image found.

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-09 18:36:52

确认随程序一起分发的'Microsoft.mshtml.dll‘文件是PIA文件,而不是Office文件。一些站点声称Office文件是“延迟签名的”,而PIA文件(随VS安装一起安装)是一个签名副本。在我的电脑上,我有3个不同版本的'Microsoft.mshtml.dll‘文件,(文件大小相同,但内容不同):

  1. "c:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office11\Microsoft.mshtml.dll“
  2. "c:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.mshtml.dll"
  3. "c:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll”

从项目中删除"Microsoft.mshtml.dll“引用。使用"Add Reference“、".Net”选项卡,选择PIA文件,使用"copy loacal“选项。(它对我来说是有效的。。。)

阿塔拉

票数 21
EN

Stack Overflow用户

发布于 2010-01-15 07:03:47

追踪这个问题的第一步是确定它是真正的Mcirosoft.mshtml.dll还是它的一个依赖项。最好的方法是使用fuslogvw来跟踪程序集加载失败。它将提供有关哪个程序集出现故障的详细信息。

一旦你确定了哪个程序集失败了,请把结果发回来。

编辑

该警告消息表明操作最终成功。它看起来并没有错误。

票数 2
EN

Stack Overflow用户

发布于 2010-12-18 08:34:58

我也有同样的问题,但我的问题是使用TFS Build 2008。hintpath是相对路径,必须更改为确切的路径。否则,在构建过程中,它会一直拾取Office mshtml.dll

<HintPath>..\..\..\..\..\..\..\..\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll</HintPath>

代码语言:javascript
复制
<HintPath>C:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll</HintPath>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2068159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档