Assemblys multifichiers
Remarque
Cet article est spécifique au .NET Framework. Elle n’est pas applicable aux implémentations plus récentes de .NET, notamment .NET 6 et les versions ultérieures.
Vous pouvez créer des assemblys multifichiers qui ciblent .NET Framework à l’aide de compilateurs de ligne de commande ou de Visual Studio avec Visual C++. L’un des fichiers de l’assembly doit contenir le manifeste d’assembly. Un assembly qui démarre une application doit également contenir un point d’entrée, tel que la méthode Main
ou WinMain
.
Supposons, par exemple, que vous possédiez une application contenant deux modules de code, Client.cs et Stringer.cs. Stringer.cs crée l’espace de noms myStringer
qui est référencé par le code dans Client.cs. Client.cs contient la méthode Main
, qui est le point d’entrée de l’application. Dans cet exemple, vous compilez les deux modules de code, puis créez un troisième fichier qui contient le manifeste d’assembly, qui lance l’application. Le manifeste d’assembly référence les modules Client et Stringer.
Notes
Les assemblys multifichiers ne peuvent avoir qu’un seul point d’entrée, même si l’assembly a plusieurs modules de code.
Il est possible de créer un assembly multifichier pour plusieurs raisons :
Pour combiner des modules écrits dans différents langages. Il s’agit de la raison la plus courante de créer un assembly multifichier.
Pour optimiser le téléchargement d’une application en plaçant des types rarement utilisés dans un module qui n’est téléchargé que quand c’est nécessaire.
Pour combiner des modules de code écrits par plusieurs développeurs. Même si chaque développeur peut compiler chaque module de code dans un assembly, ceci peut forcer l’exposition publique de certains types qui ne sont pas exposés si tous les modules sont placés dans un assembly multifichier.
Une fois l’assembly créé, vous pouvez signer le fichier qui contient le manifeste d’assembly (donc, l’assembly) ou attribuer au fichier (et à l’assembly) un nom fort et le placer dans le Global Assembly Cache.