2

我在带有 Office2010 64 位的 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,看起来基于安装在正在构建项目的 PC 中的 office 版本 - Vbe.Interop 的版本记录在 dll 中。我怎样才能避免这种情况 - 即环境中立的构建..

提前致谢..

4

1 回答 1

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复制的说明)

于 2012-10-10T23:45:53.883 回答