Freigeben über


Mehrfachdateiassemblys

Hinweis

Dieser Artikel gilt für das .NET Framework. Er gilt nicht für neuere Implementierungen von .NET, einschließlich .NET 6 und höherer Versionen.

Sie können Mehrfachdateiassemblys für das .NET Framework mit Befehlszeilencompiler oder mit Visual Studio und Visual C++ erstellen. Eine Datei in der Assembly muss das Assemblymanifest enthalten. Eine Assembly, die eine Anwendung startet, muss außerdem einen Einstiegspunkt wie z. B. die Methoden Main oder WinMain enthalten.

Angenommen, Sie verfügen über eine Anwendung, die die beiden Codemodule Client.cs und Stringer.cs enthält. Stringer.cs erstellt den myStringer-Namespace, auf den im Code von Client.cs verwiesen wird. Client.cs enthält die Main-Methode, die der Einstiegspunkt der Anwendung ist. In diesem Beispiel kompilieren Sie die zwei Codemodule und erstellen dann eine dritte Datei, die das Assemblymanifest enthält, das die Anwendung startet. Das Assemblymanifest verweist sowohl auf das Modul Client als auch auf Stringer.

Hinweis

Mehrfachdateiassemblys können nur einen Einstiegspunkt haben, auch wenn die Assembly über mehrere Codemodule verfügt.

Es gibt mehrere Gründe, sich für eine Mehrfachdateiassembly zu entscheiden:

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

  • Die Optimierung des Herunterladens einer Anwendung durch das Einfügen selten verwendeter Typen in ein Modul, das nur wenn nötig heruntergeladen wird.

  • Das Kombinieren von Codemodulen, die von mehreren Entwicklern geschrieben wurden. Obwohl jeder Entwickler jedes Codemodul in eine Assembly kompilieren kann, kann dies dazu führen, dass einige Teile öffentlich gemacht werden, die aber nicht verfügbar gemacht werden, wenn alle Module in eine Mehrfachdateiassembly integriert werden.

Sobald Sie die Assembly erstellt haben, können Sie die Datei signieren, die das Assemblymanifest enthält. Dadurch wird gleichzeitig die Assembly signiert. Alternativ können Sie der Datei und der Assembly auch einen starken Namen geben und sie in den globalen Assemblycache einfügen.

Siehe auch