我已经使用 NetOffice 构建了一个 Multi 插件,它在 64 位安装的 Office 上运行良好。任何人都知道这个所有注册表项都在正确的位置,但它仍然显示在非活动加载项列表中,路径为空(见附图)
问问题
830 次
1 回答
1
您必须为 64 位编译您的加载项。像 Office 这样的本机应用程序无法为不同的架构加载 dll。这实际上在 NetOffice 文档中提到,在 NetOffice是否准备好用于多个平台(32/64 位)部分?:
如果您开发一个 64 位 Office 应用程序正在使用的 COMAddin,您必须将您的程序集编译为 x64。如果您希望支持 32 位和 64 位 Office 应用程序,您可能需要提供第二个 x64 编译的 COMAddin。这种行为在所有场景(interop、vsto 或 netoffice)中都是相同的。64 位应用程序只能加载 64 位 Dll。
该AnyCPU
体系结构意味着该程序集可以由面向任何体系结构的.NET程序使用。它不适用于本机程序。AnyCPU
在 COM 和互操作方案中被视为 32 位 dll
于 2015-04-22T06:56:36.240 回答