AL (Assembly Linker), tâche
La tâche AL encapsule AL.exe, un outil distribué avec le Kit de développement logiciel (SDK) Windows. L’outil Assembly Linker sert à créer un assembly avec un manifeste à partir d’un ou plusieurs fichiers qui sont soit des modules, soit des fichiers de ressources. Les compilateurs et les environnements de développement pouvant déjà fournir ces fonctionnalités, il n’est généralement pas nécessaire d’utiliser cette tâche directement. Assembly Linker est très utile aux développeurs ayant besoin de créer un assembly unique à partir de plusieurs fichiers de composant, tels que ceux qui peuvent être générés par le développement en plusieurs langages. Cette tâche ne combine pas les modules dans un fichier d’assembly unique. Les modules individuels doivent toujours être distribués et disponibles pour que l’assembly résultant se charge correctement. Pour plus d’informations sur AL.exe, consultez Al.exe (Assembly Linker).
Paramètres
Le tableau ci-dessous décrit les paramètres de la tâche AL
.
Paramètre | Description |
---|---|
AlgorithmID |
Paramètre String facultatif.Spécifie un algorithme de hachage de tous les fichiers dans un assembly multifichier, à l'exception du fichier qui contient le manifeste d'assembly. Pour plus d’informations, consultez la documentation relative à l’option /algid dans Al.exe (Assembly Linker). |
BaseAddress |
Paramètre String facultatif.Spécifie l'adresse de chargement d'une DLL sur l'ordinateur de l'utilisateur au moment de l'exécution. Le chargement des applications est plus rapide si vous spécifiez l’adresse de base des DLL au lieu de laisser le système d’exploitation déplacer les DLL dans l’espace de processus. Ce paramètre correspond à l’option /baseaddress. |
CompanyName |
Paramètre String facultatif.Spécifie une chaîne pour le champ Company de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /comp[any] dans Al.exe (Assembly Linker). |
Configuration |
Paramètre String facultatif.Spécifie une chaîne pour le champ Configuration de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /config[uration] dans Al.exe (Assembly Linker). |
Copyright |
Paramètre String facultatif.Spécifie une chaîne pour le champ Copyright de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /copy[right] dans Al.exe (Assembly Linker). |
Culture |
Paramètre String facultatif.Spécifie la chaîne de culture à associer à l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /c[ulture] dans Al.exe (Assembly Linker). |
DelaySign |
Paramètre Boolean facultatif.true pour placer uniquement la clé publique dans l’assembly ; false pour signer complètement l’assembly. Pour plus d’informations, consultez la documentation relative à l’option /delay[sign] dans Al.exe (Assembly Linker). |
Description |
Paramètre String facultatif.Spécifie une chaîne pour le champ Description de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /descr[iption] dans Al.exe (Assembly Linker). |
EmbedResources |
Paramètre ITaskItem[] facultatif.Incorpore les ressources spécifiées dans l’image qui contient le manifeste d’assembly. Cette tâche copie le contenu du fichier de ressources dans l’image. Les éléments passés dans ce paramètre peuvent avoir des métadonnées facultatives associées appelées LogicalName et Access . Les métadonnées LogicalName sont utilisées pour spécifier l’identificateur interne de la ressource. Vous pouvez affecter la valeur private aux métadonnées Access pour rendre la ressource invisible à d’autres assemblys. Pour plus d’informations, consultez la documentation relative à l’option /embed[resource] dans Al.exe (Assembly Linker). |
EvidenceFile |
Paramètre String facultatif.Incorpore le fichier spécifié dans l’assembly avec le nom de ressource Security.Evidence .Vous ne pouvez pas utiliser Security.Evidence pour ses ressources standard. Ce paramètre correspond à l’option /e[vidence] dans Al.exe (Assembly Linker). |
ExitCode |
Paramètre en lecture seule de sortie Int32 facultatif.Spécifie le code de sortie fourni par la commande exécutée. |
FileVersion |
Paramètre String facultatif.Spécifie une chaîne pour le champ File Version de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /fileversion dans Al.exe (Assembly Linker). |
Flags |
Paramètre String facultatif.Spécifie une valeur pour le champ Flags de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /flags dans Al.exe (Assembly Linker). |
GenerateFullPaths |
Paramètre Boolean facultatif.Force la tâche à utiliser le chemin absolu de tout fichier signalé dans un message d’erreur. Ce paramètre correspond à l’option /fullpaths dans Al.exe (Assembly Linker). |
KeyContainer |
Paramètre String facultatif.Spécifie un conteneur qui contient une paire de clés. Cela signe l'assembly (lui donne un nom fort) en insérant une clé publique dans le manifeste d'assembly. La tâche signe ensuite l’assembly définitif à l’aide de la clé privée. Pour plus d’informations, consultez la documentation relative à l’option /keyn[ame] dans Al.exe (Assembly Linker). |
KeyFile |
Paramètre String facultatif.Spécifie un fichier qui contient une paire de clés ou juste une clé publique pour signer un assembly. Le compilateur insère la clé publique dans le manifeste d'assembly, puis signe l'assembly final avec la clé privée. Pour plus d’informations, consultez la documentation relative à l’option /keyf[ile] dans Al.exe (Assembly Linker). |
LinkResources |
Paramètre ITaskItem[] facultatif.Lie les fichiers de ressources spécifiés à un assembly. La ressource est intégrée à l’assembly, mais le fichier n’est pas copié. Les éléments passés dans ce paramètre peuvent avoir des métadonnées facultatives associées appelées LogicalName , Target et Access . Les métadonnées LogicalName sont utilisées pour spécifier l’identificateur interne de la ressource. Les métadonnées Target peuvent spécifier le chemin et le nom de fichier où la tâche copie le fichier, avant de compiler ce nouveau fichier dans l’assembly. Vous pouvez affecter la valeur private aux métadonnées Access pour rendre la ressource invisible à d’autres assemblys. Pour plus d’informations, consultez la documentation relative à l’option /link[resource] dans Al.exe (Assembly Linker). |
MainEntryPoint |
Paramètre String facultatif.Spécifie le nom complet (class.method) de la méthode à utiliser comme point d’entrée lors de la conversion d’un module en fichier exécutable. Ce paramètre correspond à l’option /main dans Al.exe (Assembly Linker). |
OutputAssembly |
Paramètre de sortie ITaskItem obligatoire. Spécifie le nom du fichier généré par cette tâche. Ce paramètre correspond à l’option /out dans Al.exe (Assembly Linker). |
Platform |
Paramètre String facultatif.Limite la plateforme sur laquelle ce code peut s’exécuter. Doit correspondre à l’une des valeurs suivantes : x86 , Itanium , x64 ou anycpu . Par défaut, il s’agit de anycpu . Ce paramètre correspond à l’option /platform dans Al.exe (Assembly Linker). |
ProductName |
Paramètre String facultatif.Spécifie une chaîne pour le champ Product de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /prod[uct] dans Al.exe (Assembly Linker). |
ProductVersion |
Paramètre String facultatif.Spécifie une chaîne pour le champ ProductVersion de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /productv[ersion] dans Al.exe (Assembly Linker). |
ResponseFiles |
Paramètre String[] facultatif.Spécifie les fichiers réponse qui contiennent des options supplémentaires à passer à Assembly Linker. |
SdkToolsPath |
Paramètre String facultatif.Spécifie le chemin des outils du SDK, comme resgen.exe. |
SourceModules |
Paramètre ITaskItem[] facultatif.Un ou plusieurs modules à compiler dans un assembly. Les modules seront répertoriés dans le manifeste de l’assembly résultant, et devront toujours être distribués et disponibles pour que l’assembly se charge. Les éléments passés dans ce paramètre peuvent avoir des métadonnées supplémentaires appelées Target , qui spécifient le chemin et le nom de fichier où la tâche copie le fichier, avant de compiler ce nouveau fichier dans l’assembly. Pour plus d’informations, consultez la documentation relative Al.exe (Assembly Linker). Ce paramètre correspond à la liste des modules transmis à Al.exe sans commutateur spécifique. |
TargetType |
Paramètre String facultatif.Spécifie le format du fichier de sortie : library (bibliothèque de codes), exe (application console) ou win (application Windows). Par défaut, il s’agit de library . Ce paramètre correspond à l’option /t[arget] dans Al.exe (Assembly Linker). |
TemplateFile |
Paramètre String facultatif.Spécifie l’assembly à partir duquel hériter de toutes les métadonnées d’assembly, à l’exception du champ Culture. L’assembly spécifié doit avoir un nom fort. Un assembly créé avec le paramètre TemplateFile est un assembly satellite. Ce paramètre correspond à l’option /template dans Al.exe (Assembly Linker). |
Timeout |
Paramètre Int32 facultatif.Spécifie le délai, en millisecondes, après lequel l’exécutable de la tâche est arrêté. La valeur par défaut est Int.MaxValue , ce qui indique qu’il n’existe aucun délai d’expiration. |
Title |
Paramètre String facultatif.Spécifie une chaîne pour le champ Title de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /title dans Al.exe (Assembly Linker). |
ToolPath |
Paramètre String facultatif.Spécifie l’emplacement à partir duquel la tâche chargera le fichier exécutable sous-jacent (Al.exe). Si vous ne spécifiez pas ce paramètre, la tâche utilise le chemin d’installation du SDK correspondant à la version du framework qui exécute MSBuild. |
Trademark |
Paramètre String facultatif.Spécifie une chaîne pour le champ Trademark de l'assembly. Pour plus d’informations, consultez la documentation relative à l’option /trade[mark] dans Al.exe (Assembly Linker). |
Version |
Paramètre String facultatif.Spécifie les informations de version pour cet assembly. Le format de la chaîne est principale.mineure.build.révision. La valeur par défaut est 0. Pour plus d’informations, consultez la documentation relative à l’option /v[ersion] dans Al.exe (Assembly Linker). |
Win32Icon |
Paramètre String facultatif.Insère un fichier .ico dans l’assembly. Le fichier .ico donne au fichier de sortie l’aspect souhaité dans l’Explorateur de fichiers. Ce paramètre correspond à l’option /win32icon dans Al.exe (Assembly Linker). |
Win32Resource |
Paramètre String facultatif.Insère une ressource Win32 (fichier .res) dans le fichier de sortie. Pour plus d’informations, consultez la documentation relative à l’option /win32res dans Al.exe (Assembly Linker). |
Paramètres ToolTaskExtension
Cette tâche hérite de la classe ToolTaskExtension, laquelle hérite de la classe ToolTask, qui hérite elle-même de la classe Task. Cette chaîne d'héritage ajoute plusieurs paramètres aux tâches qui en dérivent.
Le tableau ci-dessous décrit les paramètres des classes de base :
Paramètre | Description |
---|---|
EchoOff | Paramètre bool facultatif.Quand la valeur est true , cette tâche passe /Q à la ligne de commande cmd.exe de telle manière que cette dernière ne soit pas copiée dans stdout. |
EnvironmentVariables | Paramètres de tableau String facultatif.Tableau de définitions de variables d’environnement, séparées par des points-virgules. Chaque définition devrait spécifier un nom et une valeur de variable d’environnement séparés par un signe égal. Ces variables sont transmises à l'exécutable généré en plus ou en remplacement sélectif du bloc environnement normal. Par exemple : Variable1=Value1;Variable2=Value2 . |
ExitCode | Paramètre en lecture seule de sortie Int32 facultatif.Spécifie le code de sortie fourni par la commande exécutée. Si la tâche a journalisé des erreurs, alors que le processus avait un code de sortie de 0 (réussite), ce paramètre prend la valeur -1. |
LogStandardErrorAsError | Paramètre bool facultatif.Si la valeur est true , tous les messages reçus sur le flux d'erreur standard sont journalisés en tant qu'erreurs. |
StandardErrorImportance | Paramètre String facultatif.Importance avec laquelle le texte doit être enregistré dans le flux d’erreur standard. |
StandardOutputImportance | Paramètre String facultatif.Importance avec laquelle le texte doit être enregistré dans le flux de sortie standard. |
Timeout | Paramètre Int32 facultatif.Spécifie le délai, en millisecondes, après lequel l’exécutable de la tâche est arrêté. La valeur par défaut est Int.MaxValue , ce qui indique qu’il n’existe aucun délai d’expiration. Délai d’expiration en millisecondes. |
ToolExe | Paramètre string facultatif.Les projets peuvent l'implémenter pour remplacer un ToolName. Les tâches peuvent le remplacer pour préserver le ToolName. |
ToolPath | Paramètre string facultatif.Spécifie l’emplacement à partir duquel la tâche charge le fichier exécutable sous-jacent. Si ce paramètre n'est pas spécifié, la tâche utilise le chemin d'installation du SDK qui correspond à la version de l'infrastructure qui exécute MSBuild. |
UseCommandProcessor | Paramètre bool facultatif.Quand la valeur est true , cette tâche crée un fichier de commandes pour la ligne de commande et l'exécute à l'aide de l'interpréteur de commandes au lieu d'exécuter la commande directement. |
YieldDuringToolExecution | Paramètre bool facultatif.Quand la valeur est true , cette tâche donne le nœud quand sa tâche s'exécute. |
Exemple
L’exemple suivant crée un assembly avec les options spécifiées.
<AL
EmbedResources="@(EmbeddedResource)"
Culture="%(EmbeddedResource.Culture)"
TemplateFile="@(IntermediateAssembly)"
KeyContainer="$(KeyContainerName)"
KeyFile="$(KeyOriginatorFile)"
DelaySign="$(DelaySign)"
OutputAssembly=
"%(EmbeddedResource.Culture)\$(TargetName).resources.dll">
<Output TaskParameter="OutputAssembly"
ItemName="SatelliteAssemblies"/>
</AL>