【发布时间】:2015-07-08 04:12:52
【问题描述】:
我在vs2010中开发了一个word插件,在32位版的office上运行很酷,但在64位版的office上不行。搜索了很多,发现
For 64-bit Root\Software\Microsoft\Office\application name\Addins\add-in ID
For 32-bit Root\Software\Wow6432Node\Microsoft\Office\application name\Addins\add-in ID
注册表信息路径。我尝试为 64 位注册信息。即使它在 64 位办公室中也不起作用。在 64 位办公室中,我的插件显示在 InActive Application Add-Ins 下。我什至尝试启用它。
如何为 64 位 office 开发和部署插件..?
我得到以下错误..!!
无法加载文件或程序集“xxxxx,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。
**************异常文本************** System.BadImageFormatException:无法加载文件或程序集 'xxxxx,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null' 或其依赖项之一。试图加载格式不正确的程序。 文件名:'xxxxx,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null'
at MyWord.ThisAddIn.ThisAddIn_Startup(Object sender, EventArgs e)
at MyWord.ThisAddIn.FinishInitialization()
在 Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.ExecutePhase(ExecutionPhases 执行阶段)在 Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.Microsoft.VisualStudio.Tools.Office.Runtime.Interop.IExecuteCustomization2.ExecuteEntryPoints() 警告:程序集绑定日志记录已关闭。启用程序集绑定 失败记录,设置注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 为 1。注意:有 是与装配绑定失败相关的一些性能损失 记录。要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
【问题讨论】:
-
我想你可能有点困惑,为了向后兼容,Wow64 适用于 32 位应用程序。检查以下post to troubleshoot the addin loading - 检查点 1、2、3、4 和 7
-
@JeremyThompson 但现在我在 Root\Software\Microsoft\Office\application name\Addins\add-in ID 中获得了办公室插件的注册表详细信息,它在 32 位办公室中非常适合我,但它在 64 位办公室中不起作用(启用 gettinbg )..?可能是什么问题...?
-
您是否在同一台 PC 上安装了两个版本的 Office?
-
@JeremyThompson 没有 32 位版本,它在我的系统中工作正常。但是朋友有 64 位版本的 office 并且插件在他的系统中不工作.. :(
-
您需要澄清您的意思是“不工作”,例如它是或未在 Word 加载项中列出,它已列出但未加载/显示等。也请提供一些注册表项的 ProcessMonitor 日志,以显示加载项正在读取哪个或至少加载项在注册表中查找的位置。还请遵循本指南,您将正确地做所有事情:blogs.msdn.com/b/vsto/archive/2010/04/09/…
标签: c# com vsto office-interop office-addins