我已经使用NetOffice构建了一个Multi加载项,它在64位Office安装上可以正常工作。任何人都知道这个所有注册表项都在正确的位置,它仍然显示在具有空路径的非活动外接程序列表中(参见附图)
答案 0 :(得分:1)
您必须为64位编译加载项。 Office等本机应用程序无法为不同的体系结构加载dll。这实际上是在NetOffice文档中提到的, NetOffice是否准备好用于多个平台(32/64位)?:
如果您开发64Bit Office应用程序正在使用的COMAddin,则必须将程序集编译为x64。如果您想支持32位和64位Office应用程序,则可能需要提供第二个x64编译的COMAddin。在所有情况下(interop,vsto或netoffice),此行为都是相同的。 64位应用程序只能加载64位Dll。
AnyCPU
体系结构意味着程序集可以由针对任何体系结构的 .NET 程序使用。它不适用于本机程序。在COM和互操作方案中,AnyCPU
被视为32位dll