我在vs2010中开发了一个单词加载项。它在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位办公室中,我的加载项显示在无效应用程序加载项下。我什至尝试启用它。
如何为64位Office开发和部署外接程序?
并收到以下错误..!
at MyWord.ThisAddIn.ThisAddIn_Startup(Object sender, EventArgs e)
at MyWord.ThisAddIn.FinishInitialization()
最佳答案
在99%的情况下,当在64位程序中引发此异常时,这仅意味着一件事。 “不正确的格式”是包含32位代码的DLL。那是行不通的,一个64位程序只能加载64位DLL。
如果您使用C#编写该外接程序,则它是一个非常简单的修复程序。在“解决方案资源管理器”窗口的“属性”,“构建”选项卡中,右键单击该项目。将“平台目标”设置为AnyCPU。如果看到它,请取消选中“首选32位”复选框(VS2012及更高版本)。对发布配置重复此操作。
异常情况的其他可能解释:
您将需要SysInternals的Process Monitor来消除此类不幸。该跟踪向您显示Office程序正在查找的DLL,以及在DLL的查找目录中。这将是一个很大的痕迹,从痕迹的底部向后工作。
关于c# - 如何在vs2010中为64位版本的Office开发Microsoft Office Word加载项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29934189/