我使用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中。我怎样才能避免这种情况 - 即环境中立的构建......
提前致谢..
答案 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复制的说明)