AL-Aufgabe (Assembly Linker)
Die AL-Aufgabe schließt AL.exe ein, ein Tool, das mit dem Windows Software Development Kit (SDK) bereitgestellt wird. Mit dem Assembly Linker-Tool wird eine Assembly mit einem Manifest aus einer oder mehreren Dateien erstellt, bei denen es sich um Module oder Ressourcendateien handelt. Compiler und Entwicklungsumgebungen könnten diese Funktionen möglicherweise bereits bieten, daher ist es häufig nicht erforderlich, diese Aufgabe direkt zu verwenden. Der Assembly Linker ist besonders nützlich für Entwickler, die eine einzelne Assembly aus mehreren Komponentendateien erstellen müssen, z.B. solche, die möglicherweise bei einer Entwicklung in verschiedenen Sprachen produziert werden. Diese Aufgabe kombiniert die Module nicht in einer einzelnen Assemblydatei; die einzelnen Module müssen weiterhin verteilt werden und in der richtigen Reihenfolge verfügbar sein, damit die resultierende Assembly ordnungsgemäß geladen wird. Weitere Informationen zu AL.exe finden Sie unter AL.exe (Assembly Linker).
Parameter
In der folgenden Tabelle werden die Parameter der AL
-Aufgabe beschrieben.
Parameter | Beschreibung |
---|---|
AlgorithmID |
Optionaler String -Parameter.Legt einen Algorithmus zum Hashen aller Dateien in einer Mehrfachdateiassembly mit Ausnahme der Datei, die das Assemblymanifest enthält, fest. Weitere Informationen finden Sie in der Dokumentation zur Option /algid in Al.exe (Assembly Linker). |
BaseAddress |
Optionaler String -Parameter.Legt die Adresse fest, an der eine DLL zur Laufzeit auf dem Computer des Benutzers geladen wird. Das Laden von Anwendungen kann beschleunigt werden, wenn nicht das Betriebssystem die DLLs im Prozessbereich verschiebt, sondern die Basisadresse der DLLs angegeben wird. Dieser Parameter entspricht der /baseaddress. |
CompanyName |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld Company in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /comp[any] in Al.exe (Assembly Linker). |
Configuration |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld Configuration in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /config[uration] in Al.exe (Assembly Linker). |
Copyright |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld Copyright in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /copy[right] in Al.exe (Assembly Linker). |
Culture |
Optionaler String -Parameter.Legt die Kulturzeichenfolge fest, die mit der Assembly verknüpft werden soll. Weitere Informationen finden Sie in der Dokumentation zur Option /c[ulture] in Al.exe (Assembly Linker). |
DelaySign |
Optionaler Boolean -Parameter.true , um nur den öffentlichen Schlüssel in die Assembly einzufügen; false , um die Assembly vollständig zu signieren. Weitere Informationen finden Sie in der Dokumentation zur Option /delay[sign] in Al.exe (Assembly Linker). |
Description |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld Description in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /descr[iption] in Al.exe (Assembly Linker). |
EmbedResources |
Optionaler ITaskItem[] -ParameterBettet die angegebenen Ressourcen in das Image ein, das das Assemblymanifest enthält. Diese Aufgabe kopiert den Inhalt der Ressourcendatei in das Image. An Elemente, die an diesen Parameter übergeben werden, sind möglicherweise die optionalen LogicalName - und Access -Metadaten angefügt. Mit den LogicalName -Metadaten wird der interne Bezeichner für die Ressource angegeben. Die Access -Metadaten können auf private festgelegt werden, damit die Ressource für andere Assemblys nicht sichtbar ist. Weitere Informationen finden Sie in der Dokumentation zur Option /embed[resource] in Al.exe (Assembly Linker). |
EvidenceFile |
Optionaler String -Parameter.Bettet die angegebene Datei mit dem Ressourcennamen Security.Evidence in die Assembly ein.Sie können Security.Evidence nicht für normale Ressourcen verwenden. Dieser Parameter entspricht der Option /e[vidence] in Al.exe (Assembly Linker). |
ExitCode |
Optionaler schreibgeschützter Int32 -Ausgabeparameter.Legt den durch den ausgeführten Befehl bereitgestellten Exitcode fest. |
FileVersion |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld File Version in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /fileversion in Al.exe (Assembly Linker). |
Flags |
Optionaler String -Parameter.Legt einen Wert für das Feld Flags in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /flags in Al.exe (Assembly Linker). |
GenerateFullPaths |
Optionaler Boolean -Parameter.Veranlasst die Aufgabe, den absoluten Pfad für alle Dateien zu verwenden, die in einer Fehlermeldung gemeldet werden. Dieser Parameter entspricht der Option /fullpaths in Al.exe (Assembly Linker). |
KeyContainer |
Optionaler String -Parameter.Gibt einen Container an, der ein Schlüsselpaar enthält. Dieser wird zum Signieren der Assembly (d. h. zum Zuweisen eines starken Namens zur Assembly) verwendet, indem ein öffentlicher Schlüssel in das Assemblymanifest eingefügt wird. Dann wird die endgültige Assembly von der Aufgabe mit dem privaten Schlüssel signiert. Weitere Informationen finden Sie in der Dokumentation zur Option /keyn[ame] in Al.exe (Assembly Linker). |
KeyFile |
Optionaler String -Parameter.Legt eine Datei fest, die ein Schlüsselpaar oder einfach einen öffentlichen Schlüssel zum Signieren einer Assembly enthält. Der Compiler fügt den öffentlichen Schlüssel in das Assemblymanifest ein und signiert anschließend die endgültige Assembly mit dem privaten Schlüssel. Weitere Informationen finden Sie in der Dokumentation zur Option /keyf[ile] in Al.exe (Assembly Linker). |
LinkResources |
Optionaler ITaskItem[] -ParameterVerknüpft die angegebenen Ressourcendateien mit einer Assembly. Die Ressource wird Teil der Assembly, aber die Datei wird nicht kopiert. An Elemente, die an diesen Parameter übergeben werden, sind möglicherweise die optionalen LogicalName -, Target - und Access -Metadaten angefügt. Mit den LogicalName -Metadaten wird der interne Bezeichner für die Ressource angegeben. Die Target -Metadaten können angeben, in welchen Pfad und mit welchem Dateinamen die Aufgabe die Datei kopiert, bevor sie diese neue Datei in die Assembly kompiliert. Die Access -Metadaten können auf private festgelegt werden, damit die Ressource für andere Assemblys nicht sichtbar ist. Weitere Informationen finden Sie in der Dokumentation zur Option /link[resource] in Al.exe (Assembly Linker). |
MainEntryPoint |
Optionaler String -Parameter.Legt den vollqualifizierten Namen (Klasse.Methode) der Methode fest, die als Einstiegspunkt verwendet werden soll, wenn ein Modul in eine ausführbare Datei konvertiert wird. Dieser Parameter entspricht der Option /main in Al.exe (Assembly Linker). |
OutputAssembly |
Erforderlicher ITaskItem-Ausgabeparameter Legt den Namen der von dieser Aufgabe generierten Datei fest. Dieser Parameter entspricht der Option /out in Al.exe (Assembly Linker). |
Platform |
Optionaler String -Parameter.Schränkt ein, auf welcher Plattform dieser Code ausgeführt werden kann. Mögliche Werte: x86 , Itanium , x64 oder anycpu . Der Standardwert ist anycpu . Dieser Parameter entspricht der Option /platform in Al.exe (Assembly Linker). |
ProductName |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld Product in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /prod[uct] in Al.exe (Assembly Linker). |
ProductVersion |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld ProductVersion in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /productv[ersion] in Al.exe (Assembly Linker). |
ResponseFiles |
Optionaler String[] -Parameter.Legt die Antwortdateien fest, die zusätzliche Optionen enthalten, die über den Assembly Linker übergeben werden sollen. |
SdkToolsPath |
Optionaler String -Parameter.Legt den Pfad zu den SDK-Tools wie z.B. „resgen.exe“ fest. |
SourceModules |
Optionaler ITaskItem[] -ParameterEin oder mehrere Module, die in einer Assembly kompiliert werden. Die Module werden im Manifest der resultierenden Assembly aufgelistet und müssen noch verteilt werden und verfügbar sein, damit die Assembly sie laden kann. Die an diesen Parameter übergebenen Elemente haben möglicherweise zusätzliche Metadaten mit dem Namen Target , die angeben, in welchen Pfad und mit welchem Dateinamen die Aufgabe die Datei kopiert, bevor sie diese neue Datei in die Assembly kompiliert. Weitere Informationen finden Sie in der Dokumentation zu Al.exe (Assembly Linker). Dieser Parameter entspricht der Liste der Module, die ohne einen bestimmten Schalter an Al.exe übergeben werden. |
TargetType |
Optionaler String -Parameter.Legt das Dateiformat der Ausgabedatei fest: library (Codebibliothek), exe (Konsolenanwendung) oder win (Windows-basierte Anwendung). Der Standardwert ist library . Dieser Parameter entspricht der Option /t[arget] in Al.exe (Assembly Linker). |
TemplateFile |
Optionaler String -Parameter.Legt die Assembly fest, von der mit Ausnahme des Felds für die Kultur alle Assemblymetadaten geerbt werden. Die angegebene Assembly muss über einen starken Namen verfügen. Eine Assembly, die Sie mit dem Parameter TemplateFile erstellen, ist eine Satellitenassembly. Dieser Parameter entspricht der Option /template in Al.exe (Assembly Linker). |
Timeout |
Optionaler Int32 -Parameter.Gibt die Zeitdauer in Millisekunden an, nach der die ausführbare Datei der Aufgabe beendet wird. Der Standardwert ist Int.MaxValue . Dieser gibt an, dass es kein Zeitlimit gibt. |
Title |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld Title in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /title in Al.exe (Assembly Linker). |
ToolPath |
Optionaler String -Parameter.Legt den Speicherort fest, von wo aus die Aufgabe die zugrunde liegende ausführbare Datei (Al.exe) lädt. Wenn dieser Parameter nicht angegeben ist, verwendet die Aufgabe den SDK-Installationspfad der Version des Frameworks, die von MSBuild ausgeführt wird. |
Trademark |
Optionaler String -Parameter.Legt eine Zeichenfolge für das Feld Trademark in der Assembly fest. Weitere Informationen finden Sie in der Dokumentation zur Option /trade[mark] in Al.exe (Assembly Linker). |
Version |
Optionaler String -Parameter.Legt Versionsinformationen für diese Assembly fest. Das Format der Zeichenfolge ist major.minor.build.revision. Der Standardwert ist 0. Weitere Informationen finden Sie in der Dokumentation zur Option /v[ersion] in Al.exe (Assembly Linker). |
Win32Icon |
Optionaler String -Parameter.Fügt eine ICO-Datei in die Assembly ein. Die ICO-Datei verleiht der Ausgabedatei in Datei-Explorer das gewünschte Aussehen. Dieser Parameter entspricht der Option /win32icon in Al.exe (Assembly Linker). |
Win32Resource |
Optionaler String -Parameter.Fügt eine Win32-Ressource (RES-Datei) in die Ausgabedatei ein. Weitere Informationen finden Sie in der Dokumentation zur Option /win32res in Al.exe (Assembly Linker). |
ToolTaskExtension-Parameter
Dieser Task erbt aus der ToolTaskExtension-Klasse, die aus der ToolTask-Klasse erbt, welche wiederum aus der Task-Klasse erbt. Diese Vererbungskette fügt verschiedene Parameter zu den Aufgaben hinzu, die aus ihnen abgeleitet werden.
In der folgenden Tabelle werden die Parameter der Basisklassen beschrieben:
Parameter | Beschreibung |
---|---|
EchoOff | Optionaler bool -Parameter.Bei der Festlegung auf true gibt diese Aufgabe /Q an die Befehlszeile cmd.exe so weiter, dass die Befehlszeile nicht zu „stdout“ kopiert wird. |
EnvironmentVariables | Optionaler String -Arrayparameter.Array aus Umgebungsvariablendefinitionen, getrennt durch Semikolons. Jede Definition sollte einen Namen und einen Wert für eine Umgebungsvariable angeben, getrennt durch ein Gleichheitszeichen. Diese Variablen werden an die erstellte ausführbare Datei zusätzlich zum regulären Umgebungsblock oder zum ausgewählten Überschreiben hinzugefügt. Beispiel: Variable1=Value1;Variable2=Value2 . |
ExitCode | Optionaler schreibgeschützter Int32 -Ausgabeparameter.Gibt den durch den ausgeführten Befehl bereitgestellten Exitcode an. Wenn bei der Aufgabe Fehler protokolliert wurden, der Prozess jedoch über einen Exitcode von „0“ (Erfolg) verfügt hat, wird dies auf „-1“ festgelegt. |
LogStandardErrorAsError | Optionaler bool -Parameter.Wenn true gegeben ist, werden alle im Standardfehlerstream empfangenen Meldungen als Fehler protokolliert. |
StandardErrorImportance | Optionaler String -Parameter.Wichtigkeit, mit der Text aus dem Standardfehlerstream protokolliert wird. |
StandardOutputImportance | Optionaler String -Parameter.Wichtigkeit, mit der Text aus dem Standardausgabestream protokolliert wird. |
Timeout | Optionaler Int32 -Parameter.Gibt die Zeitdauer in Millisekunden an, nach der die ausführbare Datei der Aufgabe beendet wird. Der Standardwert ist Int.MaxValue . Dieser gibt an, dass es kein Zeitlimit gibt. Das Timeout in Millisekunden. |
ToolExe | Optionaler string -Parameter.Projekte implementieren dies möglicherweise zum Überschreiben eines ToolName. Aufgaben überschreiben dies möglicherweise zum Beibehalten des ToolName. |
ToolPath | Optionaler string -Parameter.Gibt den Speicherort an, von wo aus die Aufgabe die zugrunde liegende ausführbare Datei lädt. Wenn dieser Parameter nicht angegeben ist, verwendet die Aufgabe den SDK-Installationspfad der Version des Frameworks, die von MSBuild ausgeführt wird. |
UseCommandProcessor | Optionaler bool -Parameter.Wenn die Festlegung auf true gegeben ist, erstellt diese Aufgabe eine Batchdatei für die Befehlszeile und führt sie aus, indem der Befehl nicht direkt ausgeführt wird, sondern der Befehlsprozessor verwendet wird. |
YieldDuringToolExecution | Optionaler bool -Parameter.Bei der Festlegung auf true ergibt diese Aufgabe den Knoten, wenn dessen Aufgabe ausgeführt wird. |
Beispiel
Das folgende Beispiel erstellt eine Assembly mit den angegebenen Optionen.
<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>