Freigeben über


Mehrfachdateiassemblys

Aktualisiert: November 2007

Sie können Mehrfachdateiassemblys mit Befehlszeilencompilern oder unter Verwendung von Visual Studio 2005 mit Visual C++ erstellen. Eine Datei der Assembly muss das Assemblymanifest enthalten. Eine Assembly, die eine Anwendung startet, muss einen Einstiegspunkt enthalten, z. B. die Main-Methode oder die WinMain-Methode.

Nehmen Sie zum Beispiel an, dass eine Anwendung zwei Codemodule enthält, Client.cs und Stringer.cs. Letzteres erstellt den myStringer-Namespace, auf den der in Client.cs enthaltene Code verweist. Client.cs enthält die Main-Methode, die den Einstiegspunkt der Anwendung darstellt. In diesem Beispiel kompilieren Sie die beiden Codemodule und erstellen anschließend eine dritte Datei, die das Assemblymanifest zum Starten der Anwendung enthält. Das Assemblymanifest verweist sowohl auf das Client-Modul als auch auf das Stringer-Modul.

Hinweis:

Mehrfachdateiassemblys können nur einen Einstiegspunkt aufweisen, selbst wenn die Assembly mehrere Codemodule umfasst.

Es gibt mehrere Gründe, eine Mehrfachdateiassembly zu erstellen:

  • Kombinieren von Modulen, die in verschiedenen Sprachen geschrieben wurden. Dies ist der häufigste Anlass für das Erstellen einer Mehrfachdateiassembly.

  • Optimieren des Downloadens einer Anwendung, indem selten verwendete Typen in einem Modul platziert werden, das nur bei Bedarf gedownloadet wird.

    Hinweis:

    Es ist wichtig, Mehrfachdateiassemblys einzusetzen, wenn Sie Anwendungen erstellen, die mit dem <object>-Tag von Microsoft Internet Explorer gedownloadet werden sollen. In diesem Szenario erstellen Sie eine von den Codemodulen unabhängige Datei, die nur das Assemblymanifest enthält. Internet Explorer downloadet zuerst das Assemblymanifest und erstellt anschließend Arbeitsthreads zum Downloaden aller weiteren benötigten Module und Assemblys. Während des Downloadens der Datei, die das Assemblymanifest enthält, reagiert Internet Explorer nicht auf Benutzereingaben. Je kleiner diese Datei ist, desto weniger Zeit nimmt dies in Anspruch.

  • Kombinieren von Codemodulen, die von verschiedenen Entwicklern geschrieben wurden. Jeder Entwickler kann im Prinzip jedes beliebige Codemodul in eine Assembly kompilieren. Dies kann jedoch dazu führen, dass einige Typen öffentlich verfügbar gemacht werden müssen, was verhindert werden kann, indem alle Module in einer Mehrfachdateiassembly untergebracht werden.

Nachdem Sie eine Assembly erstellt haben, können Sie die Datei signieren, die das Assemblymanifest (und somit die Assembly) enthält. Alternativ können Sie der Datei (und der Assembly) einen starken Namen geben und sie im globalen Assemblycache ablegen.

Siehe auch

Aufgaben

Gewusst wie: Erstellen einer Mehrfachdateiassembly

Weitere Ressourcen

Programmieren mit Assemblys