错误:无法加载文件或程序集'Microsoft.Vbe.Interop,Version = 14

时间:2012-10-10 23:42:35

标签: c# winforms dll ms-office

我使用Office2010 64Bit在64位机器上构建了我的dll,当我在32位(xp / office2003)机器上使用该dll时出现此错误。

  

Could not load file or assembly 'Microsoft.Vbe.Interop, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.

我在我的项目中引用了VBIDE,看起来基于安装在正在构建Project的PC中的Office版本 - Vbe.Interop的版本记录在dll中。我怎样才能避免这种情况 - 即环境中立的构建......

提前致谢..

1 个答案:

答案 0 :(得分:1)

排除:---您可能已从某处复制了所需的程序集。但.NET程序集Microsoft.Vbe.Interop将需要其他(本机)DLL存在。这些可能不存在于您的系统中。

我认为您可能需要安装Microsoft Office版本才能解决此问题.----

要解决加载的内容,以及融合加载器查找(本机)DLL的内容,请在注册表中启用融合日志记录:

  

将以下值添加到

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
     

添加:

 DWORD ForceLog set value to 1
 DWORD LogFailures set value to 1
 DWORD LogResourceBinds set value to 1
 String LogPath set value to folder for logs e.g. C:\FusionLog\
     

此文件夹必须存在,并以反斜杠

结尾

(从How to enable assembly bind failure logging (Fusion) in .NET复制的说明)