Die gute Nachricht zuerst:
Sie können in allen Szenarien die NetOffice AnyCPU Assemblies verwenden, unabhängig davon ob Sie für eine 32Bit Office Anwendung oder eine 64 Bit Office Anwendung entwickeln, auch unabhängig davon auf welcher Platform diese installiert ist. Ein weiterer Vorteil zu den Interop Assemblies oder VSTO bei denen Sie plattformspezifische Binaries verwenden müssen.

Für welchen Zielprozessor muss ich mein Assembly kompilieren?
Wenn ihr Assembly eine Standalone Anwendung(.exe) ist oder von einer solchen geladen wird können Sie Ihr erstelltes Assembly bedenkenlos als AnyCPU kompilieren. Wenn Ihr Assembly ein COMAddin ist das von einer Office 32 Bit Anwendung geladen wird können Sie Ihr erstelltes Assembly ebenfalls als AnyCPU kompilieren. Wenn Sie ein COMAddin entwickeln das von einer Office 64Bit Anwendung geladen wird müssen Sie ihr Assembly als x64 kompilieren. Fallweise müssen Sie ein zweites x64 kompiliertes COMAddin zur Verfügung stellen wenn Sie 32Bit und 64Bit Office Anwendungen unterstützen möchten.
Anmerkung: Egal ob Sie NetOffice, Interop Assemblies oder VSTO verwenden müssen Sie ein COMAddin für 64Bit Office Anwendungen immer als x64 kompilieren da eine 64Bit Anwendung nur 64Bit Dll's laden kann.

Sofern Sie auf Ihrem Entwicklungssystem ein 64Bit Office zum Test verwenden und ein COMAddin entwickeln(d.h. Ihr Assembly als x64 kompilieren) und ihr COMAddin während der Kompilierung registrieren wollen(Register for COM Interop) müssen Sie beachten das manche Visual Studio Versionen in diesem Fall leider die die 32Bit Registrierung aufrufen und Sie den folgenden Fehler erhalten.

"File <path to assembly> is not a valid assembly".

Einen Workarround von Microsoft lesen Sie dazu hier:
http://support.microsoft.com/kb/956933

Last edited Jul 8, 2011 at 10:17 PM by SebastianDotNet, version 13

Comments

No comments yet.