Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Interoperabilitätsanwendung enthält in der Regel eine .NET-Clientassembly, eine oder mehrere Interopassemblys, die unterschiedliche COM-Typbibliotheken darstellen, und eine oder mehrere registrierte COM-Komponenten. Visual Studio und das Windows SDK bieten Tools zum Importieren und Konvertieren einer Typbibliothek in eine Interopassembly, wie im Importieren einer Typbibliothek als Assembly erläutert. Es gibt zwei Möglichkeiten zum Bereitstellen einer Interoperabilitätsanwendung:
Mithilfe eingebetteter Interoperabilitätstypen: Ab .NET Framework 4 können Sie den Compiler anweisen, Typinformationen aus einer Interopassembly in Ihre ausführbare Datei einzubetten. Der Compiler bettet nur die Typinformationen ein, die Ihre Anwendung verwendet. Sie müssen die Interop-Assembly nicht mit Ihrer Anwendung bereitstellen. Dies ist die empfohlene Technik.
Durch die Bereitstellung von Interop-Assemblys: Sie können einen Standardverweis auf eine Interop-Assembly erstellen. In diesem Fall muss die Interop-Assembly mit Ihrer Anwendung bereitgestellt werden. Wenn Sie diese Technik verwenden und keine private COM-Komponente verwenden, verweisen Sie immer auf die primäre Interopassembly (PIA), die vom Autor der COM-Komponente veröffentlicht wurde, die Sie in Ihren verwalteten Code integrieren möchten. Weitere Informationen über die Erstellung und Verwendung primärer Interop-Assemblys finden Sie unter Primäre Interop-Assemblys.
Wenn Sie eingebettete Interoperabilitätstypen verwenden, ist die Bereitstellung einfach und unkompliziert. Es gibt nichts Besonderes, was Sie tun müssen. Der Rest dieses Artikels beschreibt die Szenarien für den Einsatz von Interop-Assemblys mit Ihrer Anwendung.
Primäre Interopassemblys
Assemblys können starke Namen haben. Eine Assembly mit starkem Namen enthält den öffentlichen Schlüssel des Herausgebers, der eine eindeutige Identität bereitstellt. Assemblys, die vom Typbibliotheksimporteur (Tlbimp.exe) erstellt werden, können mit der Option "/keyfile " vom Herausgeber signiert werden. Sie können signierte Assemblys im globalen Assemblycache installieren. Nicht signierte Assemblys müssen auf dem Computer des Benutzers als private Assemblys installiert werden.
Private Assemblys
Um eine Assembly zu installieren, die privat verwendet werden soll, müssen sowohl die ausführbare Anwendung als auch die Interopassembly, die importierte COM-Typen enthält, in derselben Verzeichnisstruktur installiert werden. Die folgende Abbildung zeigt eine unsignierte Interop-Assembly, die privat von Client1.exe und Client2.exeverwendet werden soll und sich in separaten Anwendungsverzeichnissen befinden. Die Interopassembly, die in diesem Beispiel als LOANLib.dll bezeichnet wird, wird zweimal installiert.
Alle COM-Komponenten, die der Anwendung zugeordnet sind, müssen in der Windows-Registrierung installiert werden. Wenn Client1.exe und Client2.exe in der Abbildung auf verschiedenen Computern installiert sind, müssen Sie die COM-Komponenten auf beiden Computern registrieren.
Freigegebene Assemblys
Assemblys, die von mehreren Anwendungen gemeinsam genutzt werden, sollten in einem zentralen Repository installiert werden, das als globaler Assemblycache bezeichnet wird. .NET-Clients können auf dieselbe Kopie der Interopassembly zugreifen, die im globalen Assemblycache signiert und installiert ist. Weitere Informationen über die Erstellung und Verwendung primärer Interop-Assemblys finden Sie unter Primäre Interop-Assemblys.