2015-04-21 2 views
0

У меня есть многопользовательская надстройка, использующая NetOffice, которая работает отлично, ожидая 64-разрядной установки Office. У любого есть представление об этом, все записи реестра идут в правильном месте, все же он отображается в списке неактивных надписей с пустым путём (см. Прикрепленное изображение) Location is emptyНадстройка NetOffice, не загружаемая с установкой Office 2013 в 64-разрядной версии

+1

64-разрядные версии будут загружать только 64-разрядные дополнения. Вы скомпилировали для 64-бит? –

+0

Я скомпилирую его для любого CPU, и он должен сложить, как указано в документации NetOffice. – Hitendra

+0

На самом деле в документации говорится, что вы должны скомпилировать 64-разрядный бит. Если вы создаете COMAddin, который используется приложением 64Bit Office, вам необходимо скомпилировать вашу сборку как x64.' –

ответ

1

Вы должны скомпилировать свою надстройку для 64-разрядных , Родные приложения, такие как Office, не могут загружать DLL для разных архитектур. Это действительно упоминается в документации NetOffice, в разделе Готово ли NetOffice для нескольких платформ (32/64 бит)?:

Если вы разрабатываете COMAddIn, который используется приложением 64Bit офиса, вы должны скомпилировать сборку как x64. Если вы боретесь за поддержку приложений 32Bit и 64Bit Office, вам может потребоваться предоставить второй компилятор с компиляцией x64. Такое поведение одинаково во всех сценариях (interop, vsto или netoffice). Приложение 64Bit может загружать только 64Bit Dll.

AnyCPU архитектура означает, что сборка может быть использована .NET программ, ориентированных на любую архитектуру. Это не относится к родным программам. AnyCPU рассматривается как 32-разрядная dll в сценариях COM и interop.

+0

Спасибо Panagiotis за хорошо объясненный ответ. работающий после изменения целевой платформы: до x64. – Hitendra

Смежные вопросы