/target (Spécifier le format du fichier de sortie) (Options du compilateur C#)
Mise à jour : novembre 2007
L'option du compilateur /target peut être spécifiée selon l'une des quatre formes suivantes :
/target:exe
Pour créer un fichier .exe./target:library
Pour créer une bibliothèque de code./target:module
Pour créer un module./target:winexe
Pour créer un programme Windows.
Avec l'option /target, un manifeste d'assembly .NET Framework est placé dans un fichier de sortie, sauf si vous spécifiez /target:module. Pour plus d'informations, consultez Assemblys dans le Common Language Runtime and Attributs globaux.
Le manifeste d'assembly est placé dans le premier fichier de sortie .exe dans la compilation ou dans le premier fichier DLL, s'il n'existe aucun fichier de sortie .exe. Par exemple, dans la ligne de commande suivante, le manifeste sera placé dans 1.exe :
csc /out:1.exe t1.cs /out:2.netmodule t2.cs
Le compilateur ne crée qu'un seul manifeste d'assembly par compilation. Le manifeste d'assembly contient les informations sur tous les fichiers d'une compilation. Tous les fichiers de sortie sauf ceux qui sont créés avec /target:module peuvent contenir un manifeste d'assembly. Lors de la production de plusieurs fichiers de sortie sur la ligne de commande, un seul manifeste d'assembly peut être créé, et il doit aller dans le premier fichier de sortie spécifié sur la ligne de commande. Peu importe la nature du premier fichier de sortie (/target:exe, /target:winexe, /target:library ou /target:module), tous les autres fichiers de sortie générés au cours de la même compilation doivent être des modules (/target:module).
Pour la création d'un assembly, vous pouvez indiquer que tout ou partie de votre code est conforme à CLS avec l'attribut CLSCompliant.
// target_clscompliant.cs
[assembly:System.CLSCompliant(true)] // specify assembly compliance
[System.CLSCompliant(false)] // specify compliance for an element
public class TestClass
{
public static void Main() {}
}
Pour plus d'informations sur la configuration de cette option du compilateur par programme, consultez OutputType.