Al.exe (Assembly Linker-Tool)
Der Assemblylinker generiert eine Datei mit einem Assemblymanifest aus einer oder mehreren Dateien, bei denen es sich um Module oder Ressourcendateien handelt. Ein Modul ist eine IL-Datei (Intermediate Language, Zwischensprache), die nicht über ein Assemblymanifest verfügt.
Hinweis
Ab Visual Studio 2008 wird sowohl vom C#- als auch vom Visual Basic-Compiler automatisch ein Win32-Manifest in die Assembly eingebettet. Weitere Informationen finden Sie unter -win32manifest (C#-Compileroptionen).
Dieses Tool wird automatisch mit Visual Studio installiert. Um das Tool auszuführen, verwenden Sie die Developer-Eingabeaufforderung von Visual Studio oder Visual Studio Developer PowerShell.
Geben Sie an der Eingabeaufforderung Folgendes ein:
Syntax
al sources options
Parameter
Sie können eine oder mehrere der folgenden Quellen (sources
) angeben.
Quelle | Beschreibung |
---|---|
file [,target ] |
Kopiert den Inhalt von file (ein Modul) in die als target angegebene Datei. Nach dem Kopieren wird target von Al.exe in eine Assembly kompiliert. |
/embed[Ressource]: file [,name [,private ]] |
Bettet die durch file angegebene Ressource in das Image ein, das das Assemblymanifest enthält. Der Inhalt von file wird von Al.exe in das portierbare ausführbare Image (PE, Portable Executable) kopiert.Der name -Parameter ist ein interner Bezeichner für die Ressource. Standardmäßig sind Ressourcen in der Assembly öffentlich (d. h. für andere Assemblys sichtbar). Durch Angeben von private können Sie verhindern, dass die Ressource für andere Assemblys sichtbar ist.Wenn es sich bei file um eine .NET Framework-Ressourcendatei handelt, die beispielsweise durch den Resource File Generator (Resgen.exe) oder in der Entwicklungsumgebung erstellt wurde, ist der Zugriff mit Membern in System.Resources möglich. Weitere Informationen finden Sie unter ResourceManager. Verwenden Sie für alle anderen Ressourcen die GetManifestResource* -Methoden in Assembly, um zur Runtime auf die Ressource zuzugreifen.Wenn nur Ressourcendateien an Al.exe übergeben werden, handelt es sich bei der Ausgabedatei um eine Satellitenressourcenassembly. |
/link[Ressource]: file [,name [,target [,private ]]] |
Verknüpft eine Ressourcendatei mit einer Assembly. Die durch file angegebene Ressource wird Teil der Assembly. Die Datei wird nicht kopiert. Der file -Parameter kann ein beliebiges Dateiformat aufweisen. Beispielsweise können Sie als file -Parameter eine systemeigene DLL angeben. Dadurch wird die systemeigene DLL Teil der Assembly, sodass sie im globalen Assemblycache installiert und aus verwaltetem Code in der Assembly darauf zugegriffen werden kann. Eine andere Möglichkeit besteht darin, die Compileroption /linkresource zu verwenden. Weitere Informationen finden Sie unter -linkresource (C#-Compileroptionen).Der name -Parameter ist ein interner Bezeichner für die Ressource. Der Parameter target gibt einen Pfad und einen Dateinamen an, in den Al.exe den file kopiert. Nach dem Kopieren kompiliert Al.exetarget in eine Assembly. Standardmäßig sind Ressourcen in der Assembly öffentlich (d. h. für andere Assemblys sichtbar). Durch Angeben von private können Sie verhindern, dass die Ressource für andere Assemblys sichtbar ist.Wenn es sich bei file um eine .NET Framework-Ressourcendatei handelt, die beispielsweise durch den Resource File Generator (Resgen.exe) oder in der Entwicklungsumgebung erstellt wurde, ist der Zugriff mit Membern im System.Resources-Namespace möglich. Weitere Informationen finden Sie unter ResourceManager. Verwenden Sie für alle anderen Ressourcen die GetManifestResource* -Methoden in der Assembly-Klasse, um zur Laufzeit auf die Ressource zuzugreifen.Wenn nur Ressourcendateien an Al.exe übergeben werden, handelt es sich bei der Ausgabedatei um eine Satellitenressourcenassembly. |
Sie können die folgenden Optionen (options
) angeben. Die Angabe von /out ist obligatorisch.
Option | Beschreibung |
---|---|
/algid: id |
Legt einen Algorithmus zum Hashen aller Dateien in einer Mehrfachdateiassembly mit Ausnahme der Datei, die das Assemblymanifest enthält, fest. Standardmäßig wird der Algorithmus "CALG_SHA1" verwendet. Informationen zu anderen Algorithmen finden Sie unter "ALG_ID" in der Platform SDK-Dokumentation. Für das erste Release von .NET Framework sind nur "CALG_SHA1" und "CALG_MD5" gültig. Die Hashwerte werden in der Dateitabelle des Assemblymanifests gespeichert. Bei der Installation und beim Laden werden die Dateien der Assembly anhand ihrer Hashwerte überprüft. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyAlgorithmIdAttribute) im Quellcode für ein beliebiges Modul angeben. |
/base[Adresse]: addr |
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. |
/bugreport: filename |
Erstellt eine Datei (filename ) mit Informationen zum Erfassen von Bugs. |
/comp[any]: text |
Legt eine Zeichenfolge für das Feld "Company" in der Assembly fest. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.Wenn Sie /win32res nicht angeben, wird text im Datei-Explorer als Company -Eigenschaft für die Datei angezeigt. Wenn Sie /win32res angeben, werden die Firmeninformationen in der angegebenen Ressourcendatei als Company -Eigenschaft im Datei-Explorer angezeigt.Wenn "text" eine leere Zeichenfolge ("") ist, wird die Win32-Ressource Company als einzelnes Leerzeichen angezeigt.Bei Angabe von /win32res hat /company keine Auswirkung auf die Win32-Ressourceninformationen. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyCompanyAttribute) im Quellcode für jedes CIL-Modul angeben. |
/config[uration]: text |
Legt eine Zeichenfolge für das Feld "Configuration" in der Assembly fest. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.Wenn "text" eine leere Zeichenfolge ist, wird die Win32-Ressource "Configuration" als einzelnes Leerzeichen angezeigt. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyConfigurationAttribute) im Quellcode für jedes CIL-Modul angeben. |
/copy[right]: text |
Legt eine Zeichenfolge für das Feld "Copyright" in der Assembly fest. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.Wenn Sie /win32res nicht angeben, wird /copyright im Datei-Explorer als die Win32-Ressource „Copyright“ angezeigt. Wenn "text" eine leere Zeichenfolge ist, wird die Win32-Ressource "Copyright" als einzelnes Leerzeichen angezeigt. Bei Angabe von /win32res hat /copyright keine Auswirkung auf die Win32-Ressourceninformationen. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyCopyrightAttribute) im Quellcode für jedes CIL-Modul angeben. |
/c[ulture]: text |
Legt die Kulturzeichenfolge fest, die mit der Assembly verknüpft werden soll. Gültige Werte für Kulturen sind im RFC-Dokument 1766 (Request for Comments) zum Internet mit dem Titel "Tags for the Identification of Languages" definiert. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Es gibt keine Standardkulturzeichenfolge. Die Zeichenfolge ist für die Ansicht mit Reflektion verfügbar.Weitere Informationen zu gültigen text -Zeichenfolgen finden Sie unter CultureInfo.Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyCultureAttribute) im Quellcode für jedes CIL-Modul angeben. |
/delay[sign][+ or -] |
Gibt an, ob die Assembly vollständig oder teilweise signiert wird. Verwenden Sie /delaysign- , wenn die Assembly vollständig signiert werden soll. Verwenden Sie /delaysign+ , wenn Sie nur den öffentlichen Schlüssel in die Assembly einschließen möchten. Wenn Sie eine vollständig signierte Assembly anfordern, wird von Al.exe der Hash der Datei mit dem Manifest (Assemblymetadaten) erstellt und mit dem privaten Schlüssel signiert. Die sich ergebende digitale Signatur wird in der Datei mit dem Manifest gespeichert. Wenn eine Assembly mit Verzögerung signiert wird, wird von Al.exe die Signatur nicht berechnet und gespeichert, sondern lediglich ein Bereich in der Datei reserviert, damit die Signatur zu einem späteren Zeitpunkt hinzugefügt werden kann. Der Standardwert ist /delaysign- . Die Option /delaysign hat keine Auswirkung, wenn Sie nicht mit /keyfile oder /keyname verwendet wird. Mit /delaysign+ können Tester die Assembly beispielsweise im globalen Cache ablegen. Nach dem Testen können Sie die Assembly vollständig signieren, indem Sie den privaten Schlüssel in die Assembly einschließen. Hinweis: Bevor Sie das Global Assembly Cache-Tool Gacutil.exe zum Speichern einer mit Verzögerung signierten Assembly im globalen Cache verwenden, führen Sie das Strong Name-Tool Sn.exe aus, um die Assembly für das Überspringen der Überprüfung zu registrieren. Beispielsweise Sn.exe –Vr delaySignedAssembly . Verwenden Sie dieses Verfahren nur zur Entwicklung.Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyDelaySignAttribute) im Quellcode für jedes CIL-Modul angeben. |
/descr[iption]: text |
Legt eine Zeichenfolge für das Feld Description in der Assembly fest. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.Wenn Sie /win32res nicht angeben, wird /description im Datei-Explorer als die Win32-Ressource Comments angezeigt. Wenn „text“ eine leere Zeichenfolge ist, wird die Win32-Ressource Comments als einzelnes Leerzeichen angezeigt. Bei Angabe von /win32res hat /description keine Auswirkung auf die Win32-Ressourceninformationen. Sie können diese Option auch als benutzerdefiniertes Attribut (Description) im Quellcode für jedes CIL-Modul angeben. |
/e[vidence]: file |
Bettet file in die Assembly mit dem Ressourcennamen "Security.Evidence" ein.Sie können "Security.Evidence" nicht für normale Ressourcen verwenden. |
/fileversion: version |
Legt eine Zeichenfolge für das Feld File Version in der Assembly fest. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung. Wenn Sie /win32res nicht angeben, wird /fileversion als die Win32-Ressource File Version verwendet. Wenn Sie /fileversion nicht angeben, wird die Win32-Ressource File Version durch die Win32-Ressource Assembly Version gefüllt. Bei Angabe von /win32res hat /fileversion keine Auswirkung auf die Win32-Ressource. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyFileVersionAttribute) im Quellcode für jedes CIL-Modul angeben. |
/flags: flags |
Legt einen Wert für das Feld Flags in der Assembly fest. Mögliche Werte für flags :0x0000 Die Assembly ist parallel kompatibel. 0x0010 Die Assembly kann nicht mit anderen Versionen ausgeführt werden, wenn diese in derselben Anwendungsdomäne ausgeführt werden. 0x0020 Die Assembly kann nicht mit anderen Versionen ausgeführt werden, wenn die Ausführung in demselben Prozess stattfindet. 0x0030 Die Assembly kann nicht mit anderen Versionen ausgeführt werden, wenn diese auf demselben Computer ausgeführt werden. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyFlagsAttribute) im Quellcode für jedes CIL-Modul angeben. |
/fullpaths | Veranlasst Al.exe, den absoluten Pfad für alle Dateien zu verwenden, die in einer Fehlermeldung gemeldet werden. |
/help | Zeigt Befehlssyntax und Optionen für das Tool an. |
/keyf[ile]: filename |
Legt eine Datei (filename ) 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. Informationen zum Generieren von Schlüsseldateien und zum Installieren von Schlüsselpaaren in Schlüsselcontainern finden Sie unter Strong Name-Tool (Sn.exe).Wenn Sie die Signatur verzögern, enthält diese Datei in der Regel den öffentlichen, nicht jedoch den privaten Schlüssel. Informationen zum öffentlichen Schlüssel (des Schlüsselpaars) werden im Feld ".publickey" der Assembly angezeigt. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyKeyFileAttribute) im Quellcode für jedes CIL-Modul angeben. Wenn für die gleiche Kompilierung sowohl /keyfile als auch /keyname angegeben werden (über eine Befehlszeilenoption oder ein benutzerdefiniertes Attribut), wird von Al.exe zunächst versucht, den mit /keyname angegebenen Container zu verwenden. Wenn dies erfolgreich ist, wird die Assembly mit den Informationen im Schlüsselcontainer signiert. Wenn der Schlüsselcontainer von Al.exe nicht gefunden wird, wird versucht, die mit /keyfile angegebene Datei zu verwenden. Wenn dies erfolgreich ist, wird die Assembly mit den Informationen in der Schlüsseldatei signiert, und die Schlüsselinformationen werden im Schlüsselcontainer installiert (vergleichbar mit der Option „-i“ in Sn.exe), sodass bei der nächsten Kompilierung die Option /keyname gültig ist. |
/keyn[ame]: text |
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 Al.exe mit dem privaten Schlüssel signiert. Verwenden Sie Sn.exe, um ein Schlüsselpaar zu generieren. Die Schlüsselinformationen werden im Feld ".publickey" der Assembly angezeigt. Schließen Sie text in doppelte Anführungszeichen (" ") ein, wenn ein eingebettetes Leerzeichen enthalten ist.Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyKeyNameAttribute) im Quellcode für jedes CIL-Modul angeben. |
/main: method |
Legt den vollqualifizierten Namen (class .method ) der Methode fest, die als Einstiegspunkt verwendet werden soll, wenn ein Modul in eine ausführbare Datei konvertiert wird. |
/nologo | Unterdrückt das Banner (oder Logo), das in der Befehlszeile angezeigt wird, wenn Sie Al.exe aufrufen. |
/out: filename |
Gibt den Namen der von Al.exe erstellten Datei an. Diese Option muss angegeben werden. |
/platform: text |
Schränkt die Plattform ein, auf der dieser Code ausgeführt werden kann. Mögliche Werte: "x86", "x64", "Itanium", "x64", "anycpu" (Standard) oder "anycpu32bitpreferred". |
/prod[uct]: text |
Legt eine Zeichenfolge für das Feld Product in der Assembly fest. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.Wenn Sie /win32res nicht angeben, wird /product im Datei-Explorer als die Win32-Ressource Product Name angezeigt. Wenn es sich bei „text“ um eine leere Zeichenfolge handelt, wird die Win32-Ressource Product Name als einzelnes Leerzeichen angezeigt. Bei Angabe von /win32res hat /product keine Auswirkung auf die Win32-Ressourceninformationen. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyProductAttribute) im Quellcode für jedes CIL-Modul angeben. |
/productv[ersion]: text |
Legt eine Zeichenfolge für das Feld Product Version in der Assembly fest. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.Wenn Sie /win32res nicht angeben, wird /productversion als die Win32-Ressource Product Version verwendet. Wenn Sie /productversion nicht angeben, wird die Win32-Ressource Product Version durch die Win32-Ressource File Version gefüllt. Bei Angabe von /win32res hat /productversion keine Auswirkung auf die Win32-Ressourceninformationen. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyInformationalVersionAttribute) im Quellcode für jedes CIL-Modul angeben. |
/t[arget]: lib[rary] | exe | win[exe] |
Legt das Dateiformat der Ausgabedatei fest: lib[rary] (Codebibliothek), exe (Konsolenanwendung) oder win[exe] (Windows-basierte Anwendung). Der Standardwert ist lib[rary] . |
/template: filename |
Legt die Assembly (filename ) fest, von der mit Ausnahme des Felds für die Kultur alle Assemblymetadaten geerbt werden.Eine Assembly, die Sie mit der Option /template erstellen, ist eine Satellitenassembly. |
/title: text |
Legt eine Zeichenfolge für das Feld Title in der Assembly fest. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.Wenn Sie /win32res nicht angeben, wird /title im Datei-Explorer als die Win32-Ressource Description angezeigt, die von der Shell als Anzeigename einer Anwendung verwendet wird. Dieser wird auch im Untermenü Öffnen mit des Kontextmenüs eines Dateityps angezeigt, der von mehreren Anwendungen unterstützt wird. Wenn es sich bei „text“ um eine leere Zeichenfolge handelt, wird die Win32-Ressource Description als einzelnes Leerzeichen angezeigt. Bei Angabe von /win32res hat /title keine Auswirkung auf die Win32-Ressourceninformationen. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyTitleAttribute) im Quellcode für jedes CIL-Modul angeben. |
/trade[mark]: text |
Legt eine Zeichenfolge für das Feld Trademark in der Assembly fest. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.Wenn Sie /win32res nicht angeben, wird /trademark im Datei-Explorer als die Win32-Ressource Trademark angezeigt. Wenn es sich bei „text“ um eine leere Zeichenfolge handelt, wird die Win32-Ressource Trademark als einzelnes Leerzeichen angezeigt. Bei Angabe von /win32res hat /trademark keine Auswirkung auf die Win32-Ressourceninformationen. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyTrademarkAttribute) im Quellcode für jedes CIL-Modul angeben. |
/v[ersion]: version |
Gibt Versionsinformationen für diese Assembly an. Die Versionszeichenfolge hat folgendes Format: major .minor .build .revision . Der Standardwert ist 0.Wenn Sie /version angeben, müssen Sie auch major angeben. Wenn Sie major und minor angeben, können Sie ein Sternchen (*) für build angeben. Dies führt dazu, dass build der Anzahl der seit dem 1. Januar 2000 (Ortszeit) vergangenen Tage und revision der Anzahl der seit Mitternacht des aktuellen Tags (Ortszeit) vergangenen Sekunden geteilt durch zwei entspricht.Wenn Sie major , minor und build angeben, können Sie für revision ein Sternchen angeben. Dies führt dazu, dass revision der Anzahl der seit Mitternacht des aktuellen Tags (Ortszeit) vergangenen Sekunden geteilt durch zwei entspricht.Zusammenfassend ergeben sich folgende gültige Versionszeichenfolgen: X X.X X.X.* X.X.X X.X.X.* X.X.X.X Dabei steht "X" für eine kurze Ganzzahlkonstante ohne Vorzeichen mit Ausnahme von 65535 (0 – 65534). Wenn Sie /win32res nicht angeben, wird /version als die Win32-Ressource Assembly Version verwendet. Wenn Sie /win32res nicht angeben, werden /productversion, /fileversion und /version für die Win32-Ressourcen Assembly Version, „File Version“ und Product Version verwendet. Bei Angabe von /win32res hat /version keine Auswirkung auf die Win32-Ressourceninformationen. Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyVersionAttribute) im Quellcode für jedes CIL-Modul angeben. |
/win32icon: filename |
Fügt eine ICO-Datei in die Assembly ein. Die ICO-Datei verleiht der Ausgabedatei in Datei-Explorer das gewünschte Aussehen. |
/win32res: filename |
Fügt eine Win32-Ressource (RES-Datei) in die Ausgabedatei ein. Eine Win32-Ressourcendatei kann mit dem Ressourcencompiler erstellt werden. Der Ressourcencompiler wird gestartet, wenn Sie ein Visual C++-Programm kompilieren. Aus der RC-Datei wird eine RES-Datei erstellt. |
@filename |
Gibt eine Antwortdatei an, die Al.exe-Befehle enthält. Die Befehle in der Antwortdatei können jeweils in einer Zeile oder zusammen in einer Zeile durch mehrere Leerzeichen getrennt stehen. |
/? | Zeigt Befehlssyntax und Optionen für das Tool an. |
Hinweise
Alle Visual Studio-Compiler erzeugen Assemblys. Wenn Sie jedoch über mindestens ein Modul (Metadaten ohne Manifest) verfügen, können Sie Al.exe verwenden, um eine Assembly mit dem Manifest in einer separaten Datei zu erstellen.
Verwenden Sie das Global Assembly Cache-Tool (Gacutil.exe), um Assemblys im Cache zu installieren, sie aus dem Cache zu entfernen oder den Cacheinhalt aufzulisten.
Fehler und Warnungen
In der folgende Tabelle werden die durch Al.exe generierten Fehler aufgelistet.
Fehler | Beschreibung |
---|---|
al1001 | Interner Compilerfehler. Versuchen Sie festzustellen, ob Al.exe einen Fehler verursacht, weil unerwartete Syntax nicht analysiert werden kann. Wenden Sie sich dann an Produktsupport von Microsoft. |
al1002 | Nicht genügend Arbeitsspeicher Al.exe steht nicht genügend Arbeitsspeicher zur Verfügung. Die Anwendung wurde beendet. Vergrößern Sie den verfügbaren Arbeitsspeicher. |
al1003 | Auf die Compileroption "option" muss ein Argument folgen. Al.exe hat erwartet, dass ein Argument an eine Befehlszeilenoption übergeben wird. Wenn Sie z.B. /algid: angeben, müssen Sie einen Algorithmusbezeichner übergeben. |
al1004 | Unerwarteter CLR-Initialisierungsfehler (Common Language Runtime) - "reason". Al.exe hat einen Fehler bei der Installation von Visual Studio oder der CLR aufgrund der angegebenen Ursache gemeldet. |
al1005 | Die Datei "file" ist zu groß zum Öffnen. Alle durch Al.exe geöffneten Dateien müssen kleiner als 4 GB sein. |
al1006 | Die Antwortdatei "file" war bereits eingeschlossen. Die gleiche Antwortdatei wurde mehrmals in der Befehlszeile angegeben ( @file ). Die Antwortdatei kann nur einmal eingeschlossen werden. |
al1007 | Fehler beim Öffnen der Antwortdatei "file" - "reason". Al.exe kann die angegebene Antwortdatei aufgrund der angegebenen Ursache nicht öffnen. |
al1008 | Fehlende Dateispezifikation für die Befehlszeilenoption "option". Al.exe hat erwartet, dass eine Datei an eine Befehlszeilenoption übergeben wird. Wenn Sie z.B. die Option /out angeben, müssen Sie eine Datei angeben. |
al1009 | "file" kann nicht zum Schreiben geöffnet werden. Al.exe konnte nicht in eine Datei schreiben, z.B. in die Assemblyausgabedatei. Der Datenträger ist ggf. voll, die Datei ist ggf. schreibgeschützt, oder Sie besitzen ggf. keine Berechtigungen für die Datei. |
al1010 | Befehlszeilensyntaxfehler: Option ':text' für 'option' fehlt Al.exe hat erwartet, dass ein Argument an eine Befehlszeilenoption übergeben wird. Wenn Sie z.B. die Option /title angeben, müssen Sie eine Zeichenfolge übergeben. |
al1011 | Die Datei "file" ist eine ausführbare Datei und kann nicht als Textdatei geöffnet werden. Eine Binärdatei wurde angegeben, obwohl eine Textdatei erwartet wurde. Dieser Fehler tritt z. B. auf, wenn eine Binärdatei in der Befehlszeile als Antwortdatei übergeben wird. |
al1012 | "value" ist keine gültige Einstellung für die Option "option". Ein unerwarteter Wert wurde an eine Befehlszeilenoption übergeben. Dieser Fehler tritt z.B. auf, wenn Sie einen ungültigen Wert für die Option /target angeben. |
al1013 | Nicht erkannte Befehlszeilenoption: "option". Es wurde eine ungültige Befehlszeilenoption angegeben. |
al1014 | Unerwarteter Initialisierungsfehler - "reason". Al.exe hat einen COM-Initialisierungsfehler erkannt. Dies ist möglicherweise darauf zurückzuführen, dass zu wenig Arbeitsspeicher zur Verfügung steht. Die wahrscheinlichere Ursache sind jedoch die DLL-Systemdateien. Eine ähnliche Fehlermeldung sollte angezeigt werden, wenn Sie eine mit Automatisierung oder COM kompatible Anwendung wie etwa Microsoft Visual Studio ausführen. Installieren Sie das Betriebssystem erneut. |
al1015 | Die Nachrichtendatei "alinkui.dll" wurde nicht gefunden. Al.exe erfordert Alinkui.dll. Stellen Sie sicher, dass sich diese Datei in Ihrem Pfad befindet. Falls erforderlich, kopieren Sie sie von der Produkt-CD. |
al1016 | Es wurden keine gültigen Eingabedateien angegeben. Al.exe benötigt mindestens eine Eingabedatei, die keine Assemblyinformationen enthält. |
al1017 | Es wurde kein Zieldateiname angegeben. Die erforderliche Option /out, die den Zieldateinamen angibt, fehlte. |
al1018 | Die erforderliche Datei "file" konnte nicht geladen werden. Bestimmte DLL-Dateien können nicht geladen werden. Installieren Sie Visual Studio oder das Windows SDK erneut. |
al1019 | Metadatenfehler beim Erstellen der Assembly – Ursache Die Generierung der Assembly wurde aufgrund der angegebenen Ursache unterbrochen. Dieser Fehler tritt z.B. auf, wenn eine Datei, die Sie mit der Option /win32res angeben, nicht gefunden wurde. |
al1020 | Die enthaltene Assembly "file" wird ignoriert. Eine Eingabedatei, die eine Assembly enthält, wurde angegeben. Al.exe-Eingabedateien dürfen keine Assemblys enthalten. |
al1021 | "setting": Überschreiben der vorherigen Einstellung. Ein Modul weist einen Wert für eine bestimmte Einstellung auf, der ggf. über benutzerdefinierte Attribute zugewiesen und mit einem Wert überschrieben wurde, der mithilfe einer Al.exe-Befehlszeilenoption übergeben wurde. |
al1022 | Fehler beim Lesen der eingebetteten Ressource „file“ – Ursache Al.exe kann aufgrund der angegebenen Ursache die Datei nicht lesen, die an die Option /embedresource übergeben wurde. |
al1023 | Fehler beim Einbetten der Ressource „file“ – Ursache Das Betriebssystem kann die Ressourcendatei aufgrund der angegebenen Ursache nicht in die Assembly einbetten. |
al1025 | Der ComType-Datensatz "record" zeigt auf einen ungültigen Dateidatensatz "record". Die Metadaten im Eingabemodul sind ungültig. Das Tool, das das Modul generiert hat, muss repariert werden. |
al1026 | Die angegebene Version "version" ist ungültig. Informationen hinsichtlich gültiger Formate finden Sie unter der Option /version. |
al1028 | In der Schlüsseldatei "file" fehlt der für die Signierung erforderliche private Schlüssel. Eine Schlüsseldatei, die nur den öffentlichen Schlüssel enthält, wurde an die Option /keyfile übergeben. Verwenden Sie das Strong Name-Tool (Sn.exe), um (wie im folgenden Befehl gezeigt) eine Datei mit einem öffentlichen und einem privaten Schlüssel zu generieren. sn -k keypair.snk. |
al1029 | Der Name "container" des Schlüsselcontainers ist nicht vorhanden. Der an die Option /keyname übergebene Wert ist kein gültiger Container. Verwenden Sie das Strong Name-Tool (Sn.exe), um einen Container zu erstellen. |
al1030 | Der Kryptografiedienst wurde nicht ordnungsgemäß installiert oder weist keinen geeigneten Schlüsselanbieter auf. Sie müssen das Betriebssystem erneut installieren oder ein Kryptografiehilfsprogramm installieren, das zum Erstellen des Schlüssels verwendet wird. |
al1031 | Fehler beim Lesen des Symbols „file“ – Ursache Al.exe kann aufgrund der angegebenen Ursache die Datei nicht lesen, die an die Option /win32icon übergeben wurde |
al1032 | Fehler beim Generieren der Ressourcen für „file“ – Ursache Al.exe kann aufgrund von nicht genügend Speicherplatz auf dem Datenträger oder eines anderen Fehlers keine Datei erstellen. Dieser Fehler tritt auf, wenn Sie die Option /win32icon angeben (die eine ICO-Datei generiert) oder die Option /win32res nicht angeben (die eine Datei generiert, die Ressourceninformationen aufweist). Wenn Sie das Dateigenerierungsproblem nicht beheben können, verwenden Sie /win32res. Diese Option gibt eine Datei an, die Versions- oder Bitmapinformationen (Symbolinformationen) enthalten kann. |
al1033 | Das benutzerdefinierte Assemblyattribut "attribute" wurde mehrfach mit verschiedenen Werten angegeben. Verschiedene Werte wurden an zwei Vorkommen des gleichen benutzerdefinierten Attributs in Quellmodulen übergeben, die als Eingabe für Al.exe angegeben werden. |
al1034 | Die Assembly "file" kann nicht kopiert oder umbenannt werden. Bei der Verwendung der Al.exe-Syntax, mit der Sie eine Eingabedatei angeben und kopieren können, ist ein Namenskonflikt aufgetreten, der den Compiler beendet hat. Dieser Fehler tritt z. B. auf, wenn Sie input.dll,somename.dll /out:somename.dll angeben. |
al1035 | Bibliotheken können keinen Einstiegspunkt besitzen. Sie können die Optionen /target:lib (den Standardwert) und /main nicht zusammen angeben. |
al1036 | Der für ausführbare Anwendungen erforderliche Einstiegspunkt. Bei Verwendung der Option /target:exe oder /target:win müssen Sie auch die Option /main angeben. |
al1037 | Die Einstiegspunktmethode "main" wurde nicht gefunden. Al.exe kann keine Main -Methode am durch die Option /main angegebenen Speicherort finden. |
al1039 | Fehler bei der Initialisierung des globalen Assemblycache-Managers – Ursache Installieren Sie Visual Studio oder das Windows SDK erneut. |
al1040 | Fehler beim Installieren der Assembly im Cache – Ursache Nur signierte Assemblys können im Cache installiert werden. Weitere Informationen finden Sie unter Globaler Assemblycache. |
al1041 | "method": Kann nicht der Einstiegspunkt sein, weil die Signatur oder die Sichtbarkeit falsch oder die Methode generisch ist. Eine Methode wurde mit der Option /main angegeben. Diese Methode ist aber nicht statisch, gibt nicht int oder void zurück oder weist ungültige Argumente auf. |
al1042 | 'exe': EXE-Dateien können keine Module hinzugefügt werden. Eine EXE-Datei, die keine Assembly besitzt, wurde als Eingabedatei für Al.exe angegeben. Al.exe kann nur DLL-Dateien ohne Assemblys als Eingabedateien annehmen. |
al1043 | Der Manifestdateiname "name" darf mit Modulnamen identisch sein. Der mit der Option /out angegebene Name darf nicht mit einem der Dateinamen identisch sein, die als Eingabe für Al.exe angegeben werden. |
al1044 | Fehler beim Lesen der Schlüsseldatei „file“ – Ursache Fehler beim Öffnen oder Lesen einer Datei, die mit /keyfile oder AssemblyKeyFileAttribute angegeben wurde. |
al1045 | Der Dateiname "file" ist zu lang oder ungültig. Ein Dateiname, der länger als 260 Zeichen ist, wurde an Al.exe übergeben. Wählen Sie einen Namen mit weniger Zeichen oder einem kürzeren Pfad aus, oder benennen Sie die Datei um. |
al1046 | Der Ressourcenbezeichner "ID" wurde in dieser Assembly bereits verwendet. Zwei eingebettete oder verknüpfte Ressourcen besitzen den gleichen Bezeichner oder Namen (das zweite Argument). Entfernen Sie eine Ressourcen, die den Konflikt verursachen, oder benennen Sie sie um. |
al1047 | Fehler beim Importieren der Datei „file“ – Ursache Eine Moduldatei kann aufgrund der angegebenen Ursache nicht geöffnet werden. |
al1048 | Fehler beim Importieren des Moduls „module“ der Assembly „assembly“ – Ursache Fehler beim Öffnen einer Nicht-Manifestdatei einer Mehrfachdateiassembly. Dieser Fehler wird nicht direkt durch Al.exe ausgegeben, kann aber programmgesteuert an einen Prozess übergeben werden, der Al.exe verwendet. |
al1049 | Build- und Revisionsversionsnummern können für Datumsangaben vor dem 1. Januar 2000 nicht automatisch generiert werden. Die Systemuhr auf Ihrem Computer ist auf ein Datum vor dem 1. Januar 2000 festgelegt. |
al1050 | Das Feature ("altes Feature"), das Sie verwenden, wird nicht mehr unterstützt. Bitte verwenden Sie stattdessen "neues Feature". Ein zuvor von Al.exe unterstütztes Feature ist nun veraltet. Verwenden Sie stattdessen das empfohlene Feature. |
al1051 | Fehler beim Ausgeben des Attributs „attribute“ – Ursache Ein benutzerdefiniertes Assemblyattribut wurde von Al.exe aufgrund der angegebenen Ursache nicht verarbeitet. |
al1052 | Die Datei "filename" ist keine Assembly. Die mit /template angegebene Datei muss Assemblymetadaten enthalten. Dieser Fehler gibt an, dass die durch /template angegebene Datei keine Assembly enthielt. |
al1053 | Die Version "version", die für "option" angegeben wird, weist nicht das normale major.minor.build.revision-Format auf. Al.exe hat falsch formatierte Versionsinformationen ermittelt, die mit den Optionen /fileversion oder /productversion angegeben wurden. |
al1054 | Die Version "version", die für "option" angegeben wird, weist nicht das normale major.minor.build.revision-Format auf. Al.exe hat falsch formatierte Versionsinformationen ermittelt, die mit SatelliteContractVersionAttribute angegeben werden. |
al1055 | Die referenzierte Assembly "filename" weist keinen starken Namen auf. Dieser Fehler wird ausgegeben, wenn Sie eine Assembly mit einem starken Namen erstellen und auf eine Assembly verweisen, die keinen starken Namen besitzt. Zum Beheben dieses Problems müssen Sie Ihre Assembly mit einem starken Namen erneut generieren oder mithilfe von Sn.exe einen starken Namen an die Assembly anfügen (siehe Dokumentation zu Sn.exe). Dieser Fehler tritt häufig auf, wenn Sie COM-Objekte über Wrapperassemblys verwenden, z. B. wenn Sie über die Visual Studio-IDE einem C#-Projekt einen Verweis auf ein COM-Modul hinzufügen. Damit dieser Fehler vermieden wird, können Sie die Schlüsseldatei mit dem starkem Namen für COM-Wrapperassemblys in der Projekteigenschaft "Wrapperassembly-Schlüsseldatei/Name" angeben. Wenn Sie die Wrapperassembly über „tlbimp“ erstellen, finden Sie in der Dokumentation zu tlbimp weitere Informationen, wie der Wrapperassembly ein starker Name zugewiesen wird. Wenn eine Assembly einen starken Namen besitzt, kann sie im globalen Assemblycache installiert werden. Daher werden referenzierte Assemblys ebenfalls im globalen Assemblycache gespeichert. Nur Assemblys mit starken Namen können im globalen Assemblycache Gespeichert werden. |
al1056 | Die referenzierte Assembly "filename" ist eine lokalisierte Satellitenassembly. Auf eine Assembly, die mithilfe des Attributs AssemblyCultureAttribute erstellt wurde, wurde bei der Erstellung der aktuellen Assembly verwiesen. Das Attribut AssemblyCultureAttribute gibt an, dass die Datei eine lokalisierte Satellitenassembly und nicht geeignet ist, um auf eine Satellitenassembly zu verweisen. Verweisen Sie stattdessen auf die übergeordnete Hauptassembly. |
al1057 | Ausführbare Dateien dürfen nicht lokalisiert sein. Die Kultur sollte immer leer sein. Eine Assembly wird mithilfe von /target:exe erstellt, aber /culture wurde angegeben. Assemblys in der EXE-Datei dürfen keine Informationen im Feld „Culture“ enthalten. |
al1058 | "file" ist eine Assembly und kann nicht als Modul hinzugefügt werden. In einer C++-Kompilierung wurde /assemblymodule (Linkeroption) eine Datei übergeben, die eine Assembly enthielt. |
al1059 | Unbekannter Fehler (Code). Al.exe hat einen unbekannten Fehlercode ( code ) empfangen.Die folgenden Lösungen sind möglich: Installieren Sie Visual Studio erneut. Installieren Sie das Windows SDK erneut. Überprüfen Sie, ob Dateien fehlen. Überprüfen Sie, ob ausreichend Speicherplatz vorhanden ist. Überprüfen Sie, ob ausreichend Arbeitsspeicher vorhanden ist. Beenden Sie andere Prozesse, die ggf. auf die Dateien zugreifen. Starten Sie den Computer neu. |
al1060 | Kryptografischer Fehler bei der Hasherstellung – Ursache Fehler beim Erstellen der Dateihashwerte für eine Mehrfachdateiassembly. |
al1061 | Die Option "option" kann aufgrund von "reason" nicht festgelegt werden. Der für diese Option angegebene Wert ist aufgrund der angegebenen Ursache ungültig. |
al1062 | Das Modul "module" mehrmals angegeben. Es wird nur ein Mal eingeschlossen. Diese Warnung wird generiert, wenn die gleiche Quell-, Eingabe- oder Moduldatei mehrmals in der Befehlszeile angegeben wird. Stellen Sie sicher, dass Sie den Dateinamen nur ein Mal angeben. |
al1063 | Der öffentliche Typ "type" wird an mehreren Speicherorten in dieser Assembly definiert: "file1" und "file2". Der gleiche Typ wurde in mehreren Modulen in der Assembly gefunden. Nur eine Version jedes Typs kann in einer Assembly vorhanden sein. |
al1064 | Mehrere /bugreport-Optionen dürfen nicht angegeben werden. Nur eine Option /bugreport ist zulässig. |
al1065 | Der Dateiname "File Name" ist zu lang oder ungültig. Der angegebene Dateiname ist länger als die maximal zulässige Anzahl von Zeichen. |
al1066 | Das Zeichen „character“ ist in der Befehlszeile oder in Antwortdateien unzulässig. In der Befehlszeile oder in einer Datei wurde ein ungültiges Zeichen gefunden. |
al1067 | "filename" ist eine Binärdatei und keine Textdatei. Die Datei liegt im Binärformat anstatt im Textformat vor. |
al1068 | Das Modul "ModuleName" ist bereits in dieser Assembly definiert. Alle verknüpften Ressourcen und Module müssen einen eindeutigen Dateinamen besitzen. Das Modul kommt in dieser Assembly mehrmals vor. |
al1069 | Der kurze Dateiname "filename" kann nicht erstellt werden, wenn bereits ein langer Dateiname mit dem gleichen kurzen Dateinamen vorhanden ist. Die aktuelle Datei weist einen Namen auf, der die kurze Version eines Dateinamens ist, der bereits vorhanden ist. Wenn Sie z. B. "LongFileName.cs" kompilieren und dann mit dem Namen "LongFi~.cs" erneut kompilieren, wird ein Compilerfehler ausgelöst, der diesem Fehler ähnelt. Wenn die Compilerausgabedateien, die lange Namen aufweisen, gelöscht wurden, die analogen Linkerdateien aber beibehalten wurden, kann dieser Fehler auftreten. |
al1070 | Die agnostische Assembly kann kein prozessorspezifisches Modul „Module Name“ aufweisen. Wenn der Buildvorgang mithilfe von /platform:agnostic erfolgt (oder Sie /platform nicht angeben), wird ein Fehler generiert, wenn Sie versuchen, ein nicht agnostisches Modul (mithilfe von /addmodule) hinzuzufügen. Dies ist vergleichbar mit dem Versuch, eine i386-Objektdatei mit einem ia64-Objekt zu verknüpfen. Die Hauptquelle nicht agnostischer Module ist C++. Wenn Sie /addmodule mit einem C++-Modul verwenden, müssen Sie ggf. Ihre Buildskripts ändern, um die richtige /platform-Einstellung anzugeben. |
al1072 | Die Assembly und das Modul "Module Name" können nicht verschiedene Zielprozessoren besitzen. Sie können keine Assembly mit einem Modul verknüpfen, das für andere Zielprozessoren ausgelegt ist, weil das Ergebnis auf einem einzelnen Prozessor ausgeführt werden muss. |
al1073 | Die Assembly "assembly", auf die verwiesen wird, ist für einen anderen Zielprozessor ausgelegt. Sie können keine Assemblys verknüpfen, die für andere Zielprozessoren ausgelegt sind, weil das Ergebnis auf einem einzelnen Prozessor ausgeführt werden muss. |
al1074 | Der in "File Name" gespeicherte Modulname "Modul Name" muss mit seinem Dateinamen übereinstimmen. Dies ist für den Linker erforderlich. Stellen Sie sicher, dass die beiden Namen übereinstimmen, um dieses Problem zu beheben. |
al1075 | Verzögerte Signierung wurde angefordert, es wurde aber kein Schlüssel angegeben. Wenn eine Assembly mit Verzögerung signiert wird, wird die Signatur vom Compiler nicht berechnet und gespeichert, sondern lediglich ein Bereich in der Datei reserviert, damit die Signatur zu einem späteren Zeitpunkt hinzugefügt werden kann. Mit /delaysign+ können Tester die Assembly beispielsweise im globalen Cache ablegen. Nach dem Testen können Sie die Assembly vollständig signieren, indem Sie den privaten Schlüssels der Assembly mithilfe des Hilfsprogramms „Assembly Linker“ hinzufügen. |
al1076 | Der Typ "type" wird an mehrere Assemblys weitergeleitet: "assembly" und "assembly". Ein Typ kann nur an eine Assembly weitergeleitet werden. |
al1077 | Der öffentliche Typ "type" wird in "assembly" definiert und an "assembly" weitergeleitet. In der Assembly, die generiert wird, ist ein öffentlicher Typ doppelt vorhanden. Ein Typ ist eine gültige Typdefinition,der andere Typ ist eine Typweiterleitung. |
Beispiel
Mit dem folgenden Befehl wird die ausführbare Datei t2a.exe mit einer Assembly aus dem t2.netmodule
-Modul erstellt. Der Einstiegspunkt ist die Main
-Methode in MyClass
.
al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main