Al.exe (Assembly Linker-Tool)Al.exe (Assembly Linker)

Der Assemblylinker generiert eine Datei mit einem Assemblymanifest aus einer oder mehreren Dateien, bei denen es sich um Module oder Ressourcendateien handelt.The Assembly Linker generates a file that has an assembly manifest from one or more files that are either modules or resource files. Ein Modul ist eine IL-Datei (Intermediate Language, Zwischensprache), die nicht über ein Assemblymanifest verfügt.A module is an intermediate language (IL) file that does not have an assembly manifest.

Hinweis

Ab Visual Studio 2008 wird sowohl vom C#- als auch vom Visual Basic-Compiler automatisch ein Win32-Manifest in die Assembly eingebettet.Starting with Visual Studio 2008, both the C# and Visual Basic compilers automatically embed a Win32 manifest into the assembly. Weitere Informationen finden Sie unter -win32manifest (C#-Compileroptionen).For more information, see -win32manifest (C# Compiler Options).

Dieses Tool wird automatisch mit Visual Studio installiert.This tool is automatically installed with Visual Studio. Verwenden Sie die Developer-Eingabeaufforderung für Visual Studio (oder die Visual Studio-Eingabeaufforderung in Windows 7), um das Tool auszuführen.To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Weitere Informationen finden Sie unter Eingabeaufforderungen.For more information, see Command Prompts.

Geben Sie an der Eingabeaufforderung Folgendes ein:At the command prompt, type the following:

SyntaxSyntax

al sources options

ParameterParameters

Sie können eine oder mehrere der folgenden Quellen (sources) angeben.You can specify one or more of the following sources.

QuelleSource BeschreibungDescription
file[,target]file[,target] Kopiert den Inhalt von file (ein Modul) in die als target angegebene Datei.Copies the contents of file (a module) to the file name specified by target. Nach dem Kopieren wird target von Al.exe in eine Assembly kompiliert.After copying, Al.exe compiles target into an assembly.
/embed[Ressource]: file[,name[,private]]/embed[resource]: 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.Embeds the resource specified by file in the image that contains the assembly manifest; Al.exe copies the contents of file into the portable executable (PE) image.

Der name-Parameter ist ein interner Bezeichner für die Ressource.The name parameter is an internal identifier for the resource. Standardmäßig sind Ressourcen in der Assembly öffentlich (d. h. für andere Assemblys sichtbar).By default, resources are public in the assembly (visible to other assemblies). Durch Angeben von private können Sie verhindern, dass die Ressource für andere Assemblys sichtbar ist.Specifying private makes the resource not visible to other assemblies.

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.If file is a .NET Framework resource file created, for example, by the Resource File Generator (Resgen.exe) or in the development environment, it can be accessed with members in the System.Resources. Weitere Informationen finden Sie unter ResourceManager.For more information, see ResourceManager. Verwenden Sie für alle anderen Ressourcen die GetManifestResource*-Methoden in Assembly, um zur Laufzeit auf die Ressource zuzugreifen.For all other resources, use the GetManifestResource* methods in the Assembly to access the resource at run time.

Wenn nur Ressourcendateien an Al.exe übergeben werden, handelt es sich bei der Ausgabedatei um eine Satellitenressourcenassembly.If only resource files are passed to Al.exe, the output file is a satellite resource assembly.
/link[Ressource]: file[,name[,target[,private]]]/link[resource]: file[,name[,target[,private]]] Verknüpft eine Ressourcendatei mit einer Assembly.Links a resource file to an assembly. Die durch file angegebene Ressource wird Teil der Assembly. Die Datei wird nicht kopiert.The resource specified by file becomes part of the assembly; the file is not copied. Der file-Parameter kann ein beliebiges Dateiformat aufweisen.The file parameter can be in any file format. Beispielsweise können Sie als file-Parameter eine systemeigene DLL angeben.For example, you can specify a native DLL as the file parameter. 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.This will make the native DLL part of the assembly so that it can be installed into the global assembly cache and accessed from managed code in the assembly. Eine andere Möglichkeit besteht darin, die Compileroption /linkresource zu verwenden.You can also do this by using the /linkresource compiler option. Weitere Informationen finden Sie unter -linkresource (C#-Compileroptionen).For more information, see -linkresource (C# Compiler Options).

Der name-Parameter ist ein interner Bezeichner für die Ressource.The name parameter is an internal identifier for the resource. Der target-Parameter gibt einen Pfad und einen Dateinamen an, in den Al.exe die filekopiert.The target parameter specifies a path and file name into which Al.exe copies the file. Nach dem Kopieren wird target von Al.exe in eine Assembly kompiliert.After copying, Al.exe compiles target into an assembly. Standardmäßig sind Ressourcen in der Assembly öffentlich (d. h. für andere Assemblys sichtbar).By default, resources are public in the assembly (visible to other assemblies). Durch Angeben von private können Sie verhindern, dass die Ressource für andere Assemblys sichtbar ist.Specifying private makes the resource not visible to other assemblies.

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.If file is a .NET Framework resource file created, for example, by the Resource File Generator (Resgen.exe) or in the development environment, it can be accessed with members in the System.Resources namespace. Weitere Informationen finden Sie unter ResourceManager.For more information, see ResourceManager. Verwenden Sie für alle anderen Ressourcen die GetManifestResource*-Methoden in der Assembly-Klasse, um zur Laufzeit auf die Ressource zuzugreifen.For all other resources, use the GetManifestResource * methods in the Assembly class to access the resource at run time.

Wenn nur Ressourcendateien an Al.exe übergeben werden, handelt es sich bei der Ausgabedatei um eine Satellitenressourcenassembly.If only resource files are passed to Al.exe, the output file is a satellite resource assembly.

Sie können die folgenden Optionen (options) angeben. Die Angabe von /out ist obligatorisch.You can specify the following options; you must specify /out.

OptionOption BeschreibungDescription
/algid: id/algid: id Legt einen Algorithmus zum Hashen aller Dateien in einer Mehrfachdateiassembly mit Ausnahme der Datei, die das Assemblymanifest enthält, fest.Specifies an algorithm to hash all files in a multifile assembly except the file that contains the assembly manifest. Standardmäßig wird der Algorithmus "CALG_SHA1" verwendet.The default algorithm is CALG_SHA1. Informationen zu anderen Algorithmen finden Sie unter "ALG_ID" in der Platform SDK-Dokumentation.See ALG_ID in the Platform SDK documentation for other algorithms. Für das erste Release von .NET Framework sind nur "CALG_SHA1" und "CALG_MD5" gültig.For the first release of the .NET Framework, only CALG_SHA1 and CALG_MD5 are valid.

Die Hashwerte werden in der Dateitabelle des Assemblymanifests gespeichert.The hash values are stored in the file table of the assembly manifest. Bei der Installation und beim Laden werden die Dateien der Assembly anhand ihrer Hashwerte überprüft.At installation and load time, the assembly's files are checked against their hashes.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyAlgorithmIdAttribute) im Quellcode für ein beliebiges Modul angeben.You can also specify this option as a custom attribute (AssemblyAlgorithmIdAttribute) in the source code for any module.
/base[Adresse]: addr/base[address]: addr Legt die Adresse fest, an der eine DLL zur Laufzeit auf dem Computer des Benutzers geladen wird.Specifies the address at which a DLL will be loaded on the user's computer at run time. Das Laden von Anwendungen kann beschleunigt werden, wenn nicht das Betriebssystem die DLLs im Prozessbereich verschiebt, sondern die Basisadresse der DLLs angegeben wird.Applications load faster if you specify the base address of the DLLs, instead of letting the operating system relocate the DLLs in the process space.
/bugreport: filename/bugreport: filename Erstellt eine Datei (filename) mit Informationen zum Erfassen von Bugs.Creates a file (filename) that contains information for reporting bugs.
/comp[any]: text/comp[any]: text Legt eine Zeichenfolge für das Feld "Company" in der Assembly fest.Specifies a string for the Company field in the assembly. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

Wenn Sie /win32res nicht angeben, wird text im Datei-Explorer als Company-Eigenschaft für die Datei angezeigt.If you do not specify /win32res, text appears in File Explorer as the Company property for the file. Wenn Sie /win32res angeben, werden die Firmeninformationen in der angegebenen Ressourcendatei als Company-Eigenschaft im Datei-Explorer angezeigt.If you specify /win32res, the company information in the specified resource file appears as the Company property in File Explorer.

Wenn "text" eine leere Zeichenfolge ("") ist, wird die Win32-Ressource Company als einzelnes Leerzeichen angezeigt.If text is an empty string (""), the Win32 Company resource appears as a single space.

Bei Angabe von /win32res hat /company keine Auswirkung auf die Win32-Ressourceninformationen.If you specify /win32res, /company will not affect the Win32 resource information.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyCompanyAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyCompanyAttribute) in the source code for any MSIL module.
/config[uration]: text/config[uration]: text Legt eine Zeichenfolge für das Feld "Configuration" in der Assembly fest.Specifies a string for the Configuration field in the assembly. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

Wenn "text" eine leere Zeichenfolge ist, wird die Win32-Ressource "Configuration" als einzelnes Leerzeichen angezeigt.If text is an empty string, the Win32 Configuration resource appears as a single space.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyConfigurationAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyConfigurationAttribute) in the source code for any MSIL module.
/copy[right]: text/copy[right]: text Legt eine Zeichenfolge für das Feld "Copyright" in der Assembly fest.Specifies a string for the Copyright field in the assembly. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

Wenn Sie /win32res nicht angeben, wird /copyright im Datei-Explorer als die Win32-Ressource „Copyright“ angezeigt.If you do not specify /win32res, /copyright appears in File Explorer as the Win32 Copyright resource.

Wenn "text" eine leere Zeichenfolge ist, wird die Win32-Ressource "Copyright" als einzelnes Leerzeichen angezeigt.If text is an empty string, the Win32 Copyright resource appears as a single space.

Bei Angabe von /win32res hat /copyright keine Auswirkung auf die Win32-Ressourceninformationen.If you specify /win32res, /copyright will not affect the Win32 resource information.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyCopyrightAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyCopyrightAttribute) in the source code for any MSIL module.
/c[ulture]: text/c[ulture]: text Legt die Kulturzeichenfolge fest, die mit der Assembly verknüpft werden soll.Specifies the culture string to associate with the assembly. 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.Valid values for cultures are those defined by the Internet Requests for Comments (RFC) document 1766 titled "Tags for the Identification of Languages."

Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Es gibt keine Standardkulturzeichenfolge.There is no default culture string. Die Zeichenfolge ist für die Ansicht mit Reflektion verfügbar.This string is available for viewing with reflection.

Weitere Informationen zu gültigen text-Zeichenfolgen finden Sie unter CultureInfo.For information about valid text strings, see the CultureInfo.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyCultureAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyCultureAttribute) in the source code for any MSIL module.
/delay[sign][+|-]/delay[sign][+|-] Gibt an, ob die Assembly vollständig oder teilweise signiert wird.Specifies whether the assembly will be fully or partially signed. Verwenden Sie /delaysign- , wenn die Assembly vollständig signiert werden soll.Use /delaysign- if you want a fully signed assembly. Verwenden Sie /delaysign+ , wenn Sie nur den öffentlichen Schlüssel in die Assembly einschließen möchten.Use /delaysign+ if you only want to include the public key in the assembly.

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.When you request a fully signed assembly, Al.exe hashes the file that contains the manifest (assembly metadata) and signs that hash with the private key. Die sich ergebende digitale Signatur wird in der Datei mit dem Manifest gespeichert.The resulting digital signature is stored in the file that contains the manifest. 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.When an assembly is delay signed, Al.exe does not compute and store the signature, but just reserves space in the file so the signature can be added later.

Der Standardwert ist /delaysign- .The default is /delaysign-.

Die Option /delaysign hat keine Auswirkung, wenn Sie nicht mit /keyfile oder /keyname verwendet wird.The /delaysign option has no effect unless used with /keyfile or /keyname.

Mit /delaysign+ können Tester die Assembly beispielsweise im globalen Cache ablegen.For example, using /delaysign+ enables a tester to put the assembly in the global cache. Nach dem Testen können Sie die Assembly vollständig signieren, indem Sie den privaten Schlüssel in die Assembly einschließen.After testing, you can fully sign the assembly by including the private key in the assembly.

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.Note: Before using the Gacutil.exe (Global Assembly Cache Tool) to put a delay-signed assembly into the global cache, use the Sn.exe (Strong Name Tool) to register the assembly for verification skipping. Beispielsweise Sn.exe –Vr delaySignedAssembly.For example, Sn.exe –Vr delaySignedAssembly. Verwenden Sie dieses Verfahren nur zur Entwicklung.Use this only for development.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyDelaySignAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyDelaySignAttribute) in the source code for any MSIL module.
/descr[iption]: text/descr[iption]: text Legt eine Zeichenfolge für das Feld Description in der Assembly fest.Specifies a string for the Description field in the assembly. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

Wenn Sie /win32res nicht angeben, wird /description im Datei-Explorer als die Win32-Ressource Comments angezeigt.If you do not specify /win32res, /description appears in File Explorer as the Win32 Comments resource.

Wenn „text“ eine leere Zeichenfolge ist, wird die Win32-Ressource Comments als einzelnes Leerzeichen angezeigt.If text is an empty string, the Win32 Comments resource appears as a single space.

Bei Angabe von /win32res hat /description keine Auswirkung auf die Win32-Ressourceninformationen.If you specify /win32res, /description will not affect the Win32 resource information.

Sie können diese Option auch als benutzerdefiniertes Attribut (Description) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (Description) in the source code for any MSIL module.
/e[vidence]: file/e[vidence]: file Bettet file in die Assembly mit dem Ressourcennamen "Security.Evidence" ein.Embeds file in the assembly with the resource name of Security.Evidence.

Sie können "Security.Evidence" nicht für normale Ressourcen verwenden.You cannot use Security.Evidence for regular resources.
/fileversion: version/fileversion: version Legt eine Zeichenfolge für das Feld File Version in der Assembly fest.Specifies a string for the File Version field in the assembly. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

Wenn Sie /win32res nicht angeben, wird /fileversion als die Win32-Ressource File Version verwendet.If you do not specify /win32res, /fileversion will be used as the Win32 File Version resource. Wenn Sie /fileversion nicht angeben, wird die Win32-Ressource File Version durch die Win32-Ressource Assembly Version gefüllt.If you do not specify /fileversion, the Win32 File Version resource will be populated by the Win32 Assembly Version resource.

Bei Angabe von /win32res hat /fileversion keine Auswirkung auf die Win32-Ressource.If /win32res is specified, /fileversion does not affect the Win32 resource.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyFileVersionAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyFileVersionAttribute) in the source code for any MSIL module.
/flags: flags/flags: flags Legt einen Wert für das Feld Flags in der Assembly fest.Specifies a value for the Flags field in the assembly. Mögliche Werte für flags:Possible values for flags:

0x00000x0000
Die Assembly ist parallel kompatibel.The assembly is side-by-side compatible.

0x00100x0010
Die Assembly kann nicht mit anderen Versionen ausgeführt werden, wenn diese in derselben Anwendungsdomäne ausgeführt werden.The assembly cannot execute with other versions if they are executing in the same application domain.

0x00200x0020
Die Assembly kann nicht mit anderen Versionen ausgeführt werden, wenn die Ausführung in demselben Prozess stattfindet.The assembly cannot execute with other versions if they are executing in the same process.

0x00300x0030
Die Assembly kann nicht mit anderen Versionen ausgeführt werden, wenn diese auf demselben Computer ausgeführt werden.The assembly cannot execute with other versions if they are executing on the same computer.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyFlagsAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyFlagsAttribute) in the source code for any MSIL module.
/fullpaths/fullpaths Veranlasst Al.exe, den absoluten Pfad für alle Dateien zu verwenden, die in einer Fehlermeldung gemeldet werden.Causes Al.exe to use the absolute path for any files that are reported in an error message.
/help/help Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.
/keyf[ile]: filename/keyf[ile]: filename Legt eine Datei (filename) fest, die ein Schlüsselpaar oder einfach einen öffentlichen Schlüssel zum Signieren einer Assembly enthält.Specifies a file (filename) that contains a key pair or just a public key to sign an assembly. 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.The compiler inserts the public key in the assembly manifest and then signs the final assembly with the private key. Informationen zum Generieren von Schlüsseldateien und zum Installieren von Schlüsselpaaren in Schlüsselcontainern finden Sie unter Strong Name-Tool (Sn.exe).See the Strong Name Tool (Sn.exe) for information about generating key files and installing key pairs into key containers.

Wenn Sie die Signatur verzögern, enthält diese Datei in der Regel den öffentlichen, nicht jedoch den privaten Schlüssel.If you are using delayed signing, this file will usually have the public key but not the private key.

Informationen zum öffentlichen Schlüssel (des Schlüsselpaars) werden im Feld ".publickey" der Assembly angezeigt.The public key (of the key pair) information appears in the .publickey field of the assembly.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyKeyFileAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyKeyFileAttribute) in the source code for any MSIL module.

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.If both /keyfile and /keyname are specified (either by command-line option or by custom attribute) in the same compilation, Al.exe will first try the container specified with /keyname. Wenn dies erfolgreich ist, wird die Assembly mit den Informationen im Schlüsselcontainer signiert.If that succeeds, the assembly is signed with the information in the key container. Wenn der Schlüsselcontainer von Al.exe nicht gefunden wird, wird versucht, die mit /keyfile angegebene Datei zu verwenden.If Al.exe does not find the key container, it will try the file specified with /keyfile. 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.If that succeeds, the assembly is signed with the information in the key file and the key information will be installed in the key container (similar to the -i option in Sn.exe) so that on the next compilation, the /keyname option will be valid.
/keyn[ame]: text/keyn[ame]: text Gibt einen Container an, der ein Schlüsselpaar enthält.Specifies a container that holds a key pair. 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.This will sign the assembly (give it a strong name) by inserting a public key into the assembly manifest. Dann wird die endgültige Assembly von Al.exe mit dem privaten Schlüssel signiert.Al.exe will then sign the final assembly with the private key.

Verwenden Sie Sn.exe, um ein Schlüsselpaar zu generieren.Use Sn.exe to generate a key pair.

Die Schlüsselinformationen werden im Feld ".publickey" der Assembly angezeigt.The key information appears in the .publickey field of the assembly.

Schließen Sie text in doppelte Anführungszeichen (" ") ein, wenn ein eingebettetes Leerzeichen enthalten ist.Place text in double quotation marks (" ") if there is an embedded space.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyKeyNameAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyKeyNameAttribute) in the source code for any MSIL module.
/main: method/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.Specifies the fully qualified name (class.method) of the method to use as an entry point when converting a module to an executable file.
/nologo/nologo Unterdrückt das Banner (oder Logo), das in der Befehlszeile angezeigt wird, wenn Sie Al.exe aufrufen.Suppresses the banner, or logo, displayed at the command line when you invoke Al.exe.
/out: filename/out: filename Gibt den Namen der von Al.exe erstellten Datei an.Specifies the name of the file produced by Al.exe. Diese Option muss angegeben werden.This is a required option.
/platform: text/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".Limits which platform this code can run on; must be one of x86, Itanium, x64, anycpu (the default), or anycpu32bitpreferred.
/prod[uct]: text/prod[uct]: text Legt eine Zeichenfolge für das Feld Product in der Assembly fest.Specifies a string for the Product field in the assembly. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

Wenn Sie /win32res nicht angeben, wird /product im Datei-Explorer als die Win32-Ressource Product Name angezeigt.If you do not specify /win32res, /product appears in File Explorer as the Win32 Product Name resource.

Wenn es sich bei „text“ um eine leere Zeichenfolge handelt, wird die Win32-Ressource Product Name als einzelnes Leerzeichen angezeigt.If text is an empty string, the Win32 Product Name resource appears as a single space.

Bei Angabe von /win32res hat /product keine Auswirkung auf die Win32-Ressourceninformationen.If you specify /win32res, /product will not affect the Win32 resource information.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyProductAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyProductAttribute) in the source code for any MSIL module.
/productv[ersion]: text/productv[ersion]: text Legt eine Zeichenfolge für das Feld Product Version in der Assembly fest.Specifies a string for the Product Version field in the assembly. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

Wenn Sie /win32res nicht angeben, wird /productversion als die Win32-Ressource Product Version verwendet.If you do not specify /win32res, /productversion will be used as the Win32 Product Version resource. Wenn Sie /productversion nicht angeben, wird die Win32-Ressource Product Version durch die Win32-Ressource File Version gefüllt.If you do not specify /productversion, the Win32 Product Version resource will be populated by the Win32 File Version resource.

Bei Angabe von /win32res hat /productversion keine Auswirkung auf die Win32-Ressourceninformationen.If you specify /win32res, /productversion will not affect the Win32 resource information.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyInformationalVersionAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyInformationalVersionAttribute) in the source code for any MSIL module.
/t[arget]: lib[rary] | exe | win[exe]/t[arget]: lib[rary] | exe | win[exe] Legt das Dateiformat der Ausgabedatei fest: lib[rary] (Codebibliothek), exe (Konsolenanwendung) oder win[exe] (Windows-basierte Anwendung).Specifies the file format of the output file: lib[rary] (code library), exe (console application), or win[exe] (Windows-based application). Der Standardwert ist lib[rary].The default is lib[rary].
/template: filename/template: filename Legt die Assembly (filename) fest, von der mit Ausnahme des Felds für die Kultur alle Assemblymetadaten geerbt werden.Specifies the assembly, filename, from which to inherit all assembly metadata, except the culture field.

Eine Assembly, die Sie mit der Option /template erstellen, ist eine Satellitenassembly.An assembly that you create with /template will be a satellite assembly.
/title: text/title: text Legt eine Zeichenfolge für das Feld Title in der Assembly fest.Specifies a string for the Title field in the assembly. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

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.If you do not specify /win32res, /title appears in File Explorer as the Win32 Description resource, which is used by the shell as the friendly name of an application. Dieser wird auch im Untermenü Öffnen mit des Kontextmenüs eines Dateityps angezeigt, der von mehreren Anwendungen unterstützt wird.It is also displayed on the Open With submenu of the shortcut menu for a file type for which there are multiple supporting applications.

Wenn es sich bei „text“ um eine leere Zeichenfolge handelt, wird die Win32-Ressource Description als einzelnes Leerzeichen angezeigt.If text is an empty string, the Win32 Description resource appears as a single space.

Bei Angabe von /win32res hat /title keine Auswirkung auf die Win32-Ressourceninformationen.If you specify /win32res, /title will not affect the Win32 resource information.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyTitleAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyTitleAttribute) in the source code for any MSIL module.
/trade[mark]: text/trade[mark]: text Legt eine Zeichenfolge für das Feld Trademark in der Assembly fest.Specifies a string for the Trademark field in the assembly. Schließen Sie die Zeichenfolge in doppelte Anführungszeichen (" ") ein, wenn text ein Leerzeichen enthält.Place the string in double quotation marks (" ") if text contains a space. Diese Zeichenfolge ist ein benutzerdefiniertes Attribut in der Assembly und steht für die Ansicht mit Reflektion zur Verfügung.This string is a custom attribute on the assembly and is available for viewing with reflection.

Wenn Sie /win32res nicht angeben, wird /trademark im Datei-Explorer als die Win32-Ressource Trademark angezeigt.If you do not specify /win32res, /trademark appears in File Explorer as the Win32 Trademark resource.

Wenn es sich bei „text“ um eine leere Zeichenfolge handelt, wird die Win32-Ressource Trademark als einzelnes Leerzeichen angezeigt.If text is an empty string, the Win32 Trademark resource appears as a single space.

Bei Angabe von /win32res hat /trademark keine Auswirkung auf die Win32-Ressourceninformationen.If you specify /win32res, /trademark will not affect the Win32 resource information.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyTrademarkAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyTrademarkAttribute) in the source code for any MSIL module.
/v[ersion]: version/v[ersion]: version Gibt Versionsinformationen für diese Assembly an.Specifies version information for this assembly. Die Versionszeichenfolge hat folgendes Format: major.minor.build.revision. Der Standardwert ist 0.The format of the version string is major.minor.build.revision. The default value is 0.

Wenn Sie /version angeben, müssen Sie auch major angeben.If you do specify /version, you must specify major. Wenn Sie major und minor angeben, können Sie ein Sternchen (*) für build angeben.If you specify major and minor, you can specify an asterisk (*)for build. 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.This causes build to be equal to the number of days since January 1, 2000, local time, and revision to be equal to the number of seconds since midnight of the current day, local time, divided by 2.

Wenn Sie major, minor und build angeben, können Sie für revision ein Sternchen angeben.If you specify major, minor, and build, you can specify an asterisk for revision. Dies führt dazu, dass revision der Anzahl der seit Mitternacht des aktuellen Tags (Ortszeit) vergangenen Sekunden geteilt durch zwei entspricht.This causes revision to be equal to the number of seconds since midnight of the current day, local time, divided by 2.

Zusammenfassend ergeben sich folgende gültige Versionszeichenfolgen:To summarize, the valid version strings are as follows:

XX

X.XX.X

X.X.*X.X.*

X.X.XX.X.X

X.X.X.*X.X.X.*

X.X.X.XX.X.X.X

Dabei steht "X" für eine kurze Ganzzahlkonstante ohne Vorzeichen mit Ausnahme von 65535 (0 – 65534).where X is any unsigned short constant except 65535 (0-65534).

Wenn Sie /win32res nicht angeben, wird /version als die Win32-Ressource Assembly Version verwendet.If you do not specify /win32res, /version will be used as the Win32 Assembly Version resource.

Wenn Sie /win32res nicht angeben, werden /productversion, /fileversion und /version für die Win32-Ressourcen Assembly Version, „File Version“ und Product Version verwendet.If you do not specify /win32res, /productversion, and /fileversion, /version will be used for the Assembly Version, File Version, and Product Version Win32 resources.

Bei Angabe von /win32res hat /version keine Auswirkung auf die Win32-Ressourceninformationen.If you specify /win32res, /version will not affect the Win32 resource information.

Sie können diese Option auch als benutzerdefiniertes Attribut (AssemblyVersionAttribute) im Quellcode für ein beliebiges MSIL-Modul angeben.You can also specify this option as a custom attribute (AssemblyVersionAttribute) in the source code for any MSIL module.
/win32icon: filename/win32icon: filename Fügt eine ICO-Datei in die Assembly ein.Inserts an .ico file in the assembly. Die ICO-Datei verleiht der Ausgabedatei in Datei-Explorer das gewünschte Aussehen.The .ico file gives the output file the desired appearance in File Explorer.
/win32res: filename/win32res: filename Fügt eine Win32-Ressource (RES-Datei) in die Ausgabedatei ein.Inserts a Win32 resource (.res file) in the output file. Eine Win32-Ressourcendatei kann mit dem Ressourcencompiler erstellt werden.A Win32 resource file can be created by using the Resource Compiler. Der Ressourcencompiler wird gestartet, wenn Sie ein Visual C++-Programm kompilieren. Aus der RC-Datei wird eine RES-Datei erstellt.The Resource Compiler is invoked when you compile a Visual C++ program; a .res file is created from the .rc file.
@filename Gibt eine Antwortdatei an, die Al.exe-Befehle enthält.Specifies a response file that contains Al.exe commands.

Die Befehle in der Antwortdatei können jeweils in einer Zeile oder zusammen in einer Zeile durch mehrere Leerzeichen getrennt stehen.Commands in the response file can appear one per line or on the same line, separated by one or more spaces.
/?/? Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.

HinweiseRemarks

Alle Visual Studio-Compiler erzeugen Assemblys.All Visual Studio compilers produce assemblies. 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.However, if you have one or more modules (metadata without a manifest), you can use Al.exe to create an assembly with the manifest in a separate file.

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.To install assemblies in the cache, remove assemblies from the cache, or list the contents of the cache, use the Global Assembly Cache Tool (Gacutil.exe).

Fehler und WarnungenErrors and Warnings

In der folgende Tabelle werden die durch Al.exe generierten Fehler aufgelistet.The following table lists the errors generated by Al.exe.

FehlerError BeschreibungDescription
al1001al1001 Interner Compilerfehler.Internal compiler error

Versuchen Sie festzustellen, ob Al.exe einen Fehler verursacht, weil unerwartete Syntax nicht analysiert werden kann.Try to determine whether Al.exe is failing because of its inability to parse unexpected syntax. Wenden Sie sich dann an Produktsupport von Microsoft.Then, contact Microsoft Product Support Services.
al1002al1002 Nicht genügend ArbeitsspeicherOut of memory

Al.exe steht nicht genügend Arbeitsspeicher zur Verfügung. Die Anwendung wurde beendet.Al.exe ran out of memory and stopped. Vergrößern Sie den verfügbaren Arbeitsspeicher.Increase the amount of available memory.
al1003al1003 Auf die Compileroption "option" muss ein Argument folgen.Compiler option 'option' must be followed by an argument

Al.exe hat erwartet, dass ein Argument an eine Befehlszeilenoption übergeben wird.Al.exe expected an argument to be passed to a command-line option. Wenn Sie z.B. /algid: angeben, müssen Sie einen Algorithmusbezeichner übergeben.For example, if you specify /algid:, you must pass an algorithm identifier.
al1004al1004 Unerwarteter CLR-Initialisierungsfehler (Common Language Runtime) - "reason".Unexpected common language runtime initialization error — 'reason'

Al.exe hat einen Fehler bei der Installation von Visual Studio oder der CLR aufgrund der angegebenen Ursache gemeldet.Al.exe reported an error with the installation of Visual Studio or the common language runtime for the specified reason.
al1005al1005 Die Datei "file" ist zu groß zum Öffnen.File 'file' too big to open

Alle durch Al.exe geöffneten Dateien müssen kleiner als 4 GB sein.All files opened by Al.exe must be smaller than 4 gigabytes (GB).
al1006al1006 Die Antwortdatei "file" war bereits eingeschlossen.Response file 'file' was already included

Die gleiche Antwortdatei wurde mehrmals in der Befehlszeile angegeben (@file).The same response file was specified (@file) more than once on the command line. Die Antwortdatei kann nur einmal eingeschlossen werden.The response file can only be included once.
al1007al1007 Fehler beim Öffnen der Antwortdatei "file" - "reason".Error opening response file 'file' — 'reason'

Al.exe kann die angegebene Antwortdatei aufgrund der angegebenen Ursache nicht öffnen.Al.exe cannot open the specified response file for the specified reason.
al1008al1008 Fehlende Dateispezifikation für die Befehlszeilenoption "option".Missing file specification for 'option' command-line option

Al.exe hat erwartet, dass eine Datei an eine Befehlszeilenoption übergeben wird.Al.exe expected a file to be passed to a command-line option. Wenn Sie z.B. die Option /out angeben, müssen Sie eine Datei angeben.For example, if you specify the /out option, you must specify a file.
al1009al1009 "file" kann nicht zum Schreiben geöffnet werden.Can't open 'file' for writing

Al.exe konnte nicht in eine Datei schreiben, z.B. in die Assemblyausgabedatei.Al.exe was unable to write to a file, such as the output assembly file. Der Datenträger ist ggf. voll, die Datei ist ggf. schreibgeschützt, oder Sie besitzen ggf. keine Berechtigungen für die Datei.The disk might be full, the file might be read-only, or you might not have permissions to the file.
al1010al1010 Befehlszeilensyntaxfehler: Option ':text' für 'option' fehltCommand-line syntax error: Missing ':text' for 'option' option

Al.exe hat erwartet, dass ein Argument an eine Befehlszeilenoption übergeben wird.Al.exe expected an argument to be passed to a command-line option. Wenn Sie z.B. die Option /title angeben, müssen Sie eine Zeichenfolge übergeben.For example, if you specify the /title option, you must pass a string.
al1011al1011 Die Datei "file" ist eine ausführbare Datei und kann nicht als Textdatei geöffnet werden.File 'file' is an executable file and cannot be opened as a text file

Eine Binärdatei wurde angegeben, obwohl eine Textdatei erwartet wurde.A binary file was specified where a text file was expected. Dieser Fehler tritt z. B. auf, wenn eine Binärdatei in der Befehlszeile als Antwortdatei übergeben wird.For example, this error occurs if a binary file is passed on the command line as a response file.
al1012al1012 "value" ist keine gültige Einstellung für die Option "option".'value' is not a valid setting for option 'option'

Ein unerwarteter Wert wurde an eine Befehlszeilenoption übergeben.An unexpected value was passed to a command-line option. Dieser Fehler tritt z.B. auf, wenn Sie einen ungültigen Wert für die Option /target angeben.For example, this error occurs if you specify an invalid value to the /target option.
al1013al1013 Nicht erkannte Befehlszeilenoption: "option".Unrecognized command-line option: 'option'

Es wurde eine ungültige Befehlszeilenoption angegeben.An invalid command-line option was specified.
al1014al1014 Unerwarteter Initialisierungsfehler - "reason".Unexpected initialization error — 'reason'

Al.exe hat einen COM-Initialisierungsfehler erkannt.Al.exe detected a COM initialization failure. Dies ist möglicherweise darauf zurückzuführen, dass zu wenig Arbeitsspeicher zur Verfügung steht. Die wahrscheinlichere Ursache sind jedoch die DLL-Systemdateien.This might be caused by a lack of memory, but a more likely cause is the system DLL files. Eine ähnliche Fehlermeldung sollte angezeigt werden, wenn Sie eine mit Automatisierung oder COM kompatible Anwendung wie etwa Microsoft Visual Studio ausführen.You should see a similar error if you run any Automation-aware or COM-aware program, such as Microsoft Visual Studio.

Installieren Sie das Betriebssystem erneut.Reinstall the operating system.
al1015al1015 Die Nachrichtendatei "alinkui.dll" wurde nicht gefunden.Unable to find messages file 'alinkui.dll'

Al.exe erfordert Alinkui.dll.Al.exe requires Alinkui.dll. Stellen Sie sicher, dass sich diese Datei in Ihrem Pfad befindet.Make sure that this file is on your path. Falls erforderlich, kopieren Sie sie von der Produkt-CD.If necessary, copy it from the product CD.
al1016al1016 Es wurden keine gültigen Eingabedateien angegeben.No valid input files were specified

Al.exe benötigt mindestens eine Eingabedatei, die keine Assemblyinformationen enthält.Al.exe requires one or more input files that do not have assembly information.
al1017al1017 Es wurde kein Zieldateiname angegeben.No target file name was specified

Die erforderliche Option /out, die den Zieldateinamen angibt, fehlte.The required /out option specifying the target file name was missing.
al1018al1018 Die erforderliche Datei "file" konnte nicht geladen werden.Required file 'file' could not be loaded

Bestimmte DLL-Dateien können nicht geladen werden.Certain DLL files cannot be loaded. Installieren Sie Visual Studio oder das Windows SDK erneut.Reinstall Visual Studio or the Windows SDK.
al1019al1019 Metadatenfehler beim Erstellen der Assembly - UrsacheMetadata failure while creating assembly — reason

Die Generierung der Assembly wurde aufgrund der angegebenen Ursache unterbrochen.Generation of the assembly was interrupted for the specified reason. Dieser Fehler tritt z.B. auf, wenn eine Datei, die Sie mit der Option /win32res angeben, nicht gefunden wurde.For example, this error occurs if a file that you specify with the /win32res option is not found.
al1020al1020 Die enthaltene Assembly "file" wird ignoriert.Ignoring included assembly 'file'

Eine Eingabedatei, die eine Assembly enthält, wurde angegeben.An input file that contained an assembly was specified. Al.exe-Eingabedateien dürfen keine Assemblys enthalten.Al.exe input files cannot contain assemblies.
al1021al1021 "setting": Überschreiben der vorherigen Einstellung.'setting' : overriding previous setting

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.A module had a value for a particular setting, possibly assigned through custom attributes, which was overridden with a value passed using an Al.exe command-line option.
al1022al1022 Fehler beim Lesen der eingebetteten Ressource "file" - UrsacheError reading embedded resource 'file' — reason

Al.exe kann aufgrund der angegebenen Ursache die Datei nicht lesen, die an die Option /embedresource übergeben wurde.Al.exe cannot read the file passed to the /embedresource option for the specified reason.
al1023al1023 Fehler beim Einbetten der Ressource "file" - UrsacheError embedding resource 'file' — reason

Das Betriebssystem kann die Ressourcendatei aufgrund der angegebenen Ursache nicht in die Assembly einbetten.The operating system cannot embed the resource file in the assembly for the specified reason.
al1025al1025 Der ComType-Datensatz "record" zeigt auf einen ungültigen Dateidatensatz "record".ComType record 'record' points to an invalid file record 'record'

Die Metadaten im Eingabemodul sind ungültig.Metadata in the input module is invalid. Das Tool, das das Modul generiert hat, muss repariert werden.The tool that produced the module must be fixed.
al1026al1026 Die angegebene Version "version" ist ungültig.The version specified 'version' is invalid

Informationen hinsichtlich gültiger Formate finden Sie unter der Option /version.See information about the /version option for valid formats.
al1028al1028 In der Schlüsseldatei "file" fehlt der für die Signierung erforderliche private Schlüssel.Key file 'file' is missing the private key needed for signing

Eine Schlüsseldatei, die nur den öffentlichen Schlüssel enthält, wurde an die Option /keyfile übergeben.A key file that contains only the public key was passed to the /keyfile option. 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.Use the Strong Name Tool (Sn.exe) to generate a file that has both a public and private key, as shown in the following command.

sn -k keypair.snk.
al1029al1029 Der Name "container" des Schlüsselcontainers ist nicht vorhanden.The key container name 'container' does not exist

Der an die Option /keyname übergebene Wert ist kein gültiger Container.The value passed to the /keyname option is not a valid container. Verwenden Sie das Strong Name-Tool (Sn.exe), um einen Container zu erstellen.Use the Strong Name Tool (Sn.exe) to create a container.
al1030al1030 Der Kryptografiedienst wurde nicht ordnungsgemäß installiert oder weist keinen geeigneten Schlüsselanbieter auf.The cryptographic service is not installed properly or does not have a suitable key provider

Sie müssen ggf. das Betriebssystem erneut installieren oder ein Kryptografiedienstprogramm installieren, das zum Erstellen des Schlüssels verwendet wird.You might have to either reinstall the operating system or install some cryptographic utility that was that is used to create the key.
al1031al1031 Fehler beim Lesen des Symbols "file" - UrsacheError reading icon 'file' — reason

Al.exe kann aufgrund der angegebenen Ursache die Datei nicht lesen, die an die Option /win32icon übergeben wurdeAl.exe cannot read the file that was passed to the /win32icon option for the specified reason
al1032al1032 Fehler beim Generieren der Ressourcen für "file" - UrsacheError generating resources for 'file' — reason

Al.exe kann aufgrund von nicht genügend Speicherplatz auf dem Datenträger oder eines anderen Fehlers keine Datei erstellen.Al.exe cannot create a file because of insufficient disk space or some other error. 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).This error occurs when you specify the /win32icon option (which generates an .ico file) or do not specify the /win32res option (which generates a file that has resource information).

Wenn Sie das Dateigenerierungsproblem nicht beheben können, verwenden Sie /win32res. Diese Option gibt eine Datei an, die Versions- oder Bitmapinformationen (Symbolinformationen) enthalten kann.If you cannot resolve the file generation problem, use /win32res, which specifies a file that can contain version or bitmap (icon) information.
al1033al1033 Das benutzerdefinierte Assemblyattribut "attribute" wurde mehrfach mit verschiedenen Werten angegeben.Assembly custom attribute 'attribute' was specified multiple times with different values

Verschiedene Werte wurden an zwei Vorkommen des gleichen benutzerdefinierten Attributs in Quellmodulen übergeben, die als Eingabe für Al.exe angegeben werden.Different values were passed to two occurrences of the same custom attribute in source modules that are specified as input to Al.exe.
al1034al1034 Die Assembly "file" kann nicht kopiert oder umbenannt werden.Assembly 'file' cannot be copied or renamed

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.While using the Al.exe syntax that enables you to both specify an input file and copy it, a name conflict arose that stopped the compiler. Dieser Fehler tritt z. B. auf, wenn Sie input.dll,somename.dll /out:somename.dll angeben.For example, this error occurs if you specify input.dll,somename.dll /out:somename.dll.
al1035al1035 Bibliotheken können keinen Einstiegspunkt besitzen.Libraries cannot have an entry point

Sie können die Optionen /target:lib (den Standardwert) und /main nicht zusammen angeben.You cannot specify both the /target:lib option (the default) and the /main option.
al1036al1036 Der für ausführbare Anwendungen erforderliche Einstiegspunkt.Entry point required for executable applications

Bei Verwendung der Option /target:exe oder /target:win müssen Sie auch die Option /main angeben.When using the /target:exe or /target:win option, you must also specify the /main option.
al1037al1037 Die Einstiegspunktmethode "main" wurde nicht gefunden.Unable to find the entry point method 'main'

Al.exe kann keine Main-Methode am durch die Option /main angegebenen Speicherort finden.Al.exe cannot find a Main method at the location specified by the /main option.
al1039al1039 Fehler bei der Initialisierung des globalen Assemblycache-Managers - UrsacheInitialization of global assembly cache manager failed — reason

Installieren Sie Visual Studio oder das Windows SDK erneut.Reinstall Visual Studio or the Windows SDK.
al1040al1040 Fehler beim Installieren der Assembly im Cache - UrsacheFailed to install assembly into cache — reason

Nur signierte Assemblys können im Cache installiert werden.Only signed assemblies can be installed into the cache. Weitere Informationen finden Sie unter Globaler Assemblycache.See Global Assembly Cache for more information.
al1041al1041 "method": Kann nicht der Einstiegspunkt sein, weil die Signatur oder die Sichtbarkeit falsch oder die Methode generisch ist.'method': cannot be the entry point because the signature or visibility is incorrect, or it is generic

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.A method was specified with the /main option, but that method is not static, does not return int or void, was generic, or has invalid arguments.
al1042al1042 'exe': EXE-Dateien können keine Module hinzugefügt werden.'exe': EXEs cannot be added modules

Eine EXE-Datei, die keine Assembly besitzt, wurde als Eingabedatei für Al.exe angegeben.An .exe file that does not have an assembly was specified as an input file to Al.exe. Al.exe kann nur DLL-Dateien ohne Assemblys als Eingabedateien annehmen.Al.exe can only take dll files without assemblies as input files.
al1043al1043 Der Manifestdateiname "name" darf mit Modulnamen identisch sein.Manifest file name 'name' cannot be the same as any modules

Der mit der Option /out angegebene Name darf nicht mit einem der Dateinamen identisch sein, die als Eingabe für Al.exe angegeben werden.The name specified with the /out option cannot be the same as any one of the file names that are specified as input to Al.exe.
al1044al1044 Fehler beim Lesen der Schlüsseldatei "file" - UrsacheError reading key file 'file' — reason

Fehler beim Öffnen oder Lesen einer Datei, die mit /keyfile oder AssemblyKeyFileAttribute angegeben wurde.An error occurred while opening or reading from a file specified with /keyfile or the AssemblyKeyFileAttribute.
al1045al1045 Der Dateiname "file" ist zu lang oder ungültig.Filename 'file' is too long or invalid

Ein Dateiname, der länger als 260 Zeichen ist, wurde an Al.exe übergeben.A file name longer than 260 characters was passed to Al.exe. Wählen Sie einen Namen mit weniger Zeichen oder einem kürzeren Pfad aus, oder benennen Sie die Datei um.Choose a file name with fewer characters or a shorter path, or rename the file.
al1046al1046 Der Ressourcenbezeichner "ID" wurde in dieser Assembly bereits verwendet.Resource identifier 'ID' has already been used in this assembly

Zwei eingebettete oder verknüpfte Ressourcen besitzen den gleichen Bezeichner oder Namen (das zweite Argument).Two resources, embedded or linked, have the same identifier or name (the second argument). Entfernen Sie eine Ressourcen, die den Konflikt verursachen, oder benennen Sie sie um.Remove or rename one of the conflicting resources.
al1047al1047 Fehler beim Importieren der Datei "file" - UrsacheError importing file 'file' — reason

Eine Moduldatei kann aufgrund der angegebenen Ursache nicht geöffnet werden.A module file cannot be opened for the specified reason.
al1048al1048 Fehler beim Importieren des Moduls "module" der Assembly "assembly" - UrsacheError importing module 'module' of assembly 'assembly' — reason

Fehler beim Öffnen einer Nicht-Manifestdatei einer Mehrfachdateiassembly.An error occurred when opening a nonmanifest file of a multifile assembly. Dieser Fehler wird nicht direkt durch Al.exe ausgegeben, kann aber programmgesteuert an einen Prozess übergeben werden, der Al.exe verwendet.This error is not emitted directly by Al.exe, but can be passed programmatically to a process that uses Al.exe.
al1049al1049 Build- und Revisionsversionsnummern können für Datumsangaben vor dem 1. Januar 2000 nicht automatisch generiert werden.Cannot auto-generate build and revision version numbers for dates before January 1, 2000

Die Systemuhr auf Ihrem Computer ist auf ein Datum vor dem 1. Januar 2000 festgelegt.The system clock on your computer is set to a date earlier than January 1, 2000.
al1050al1050 Das Feature ("altes Feature"), das Sie verwenden, wird nicht mehr unterstützt. Bitte verwenden Sie stattdessen "neues Feature".The feature you are using 'old feature' is no longer supported; please use 'new feature' instead

Ein zuvor von Al.exe unterstütztes Feature ist nun veraltet.A feature previously supported by Al.exe is now obsolete. Verwenden Sie stattdessen das empfohlene Feature.Use the recommended feature instead.
al1051al1051 Fehler beim Ausgeben des Attributs "attribute" – "reason"Error emitting 'attribute' attribute —'reason'

Ein benutzerdefiniertes Assemblyattribut wurde von Al.exe aufgrund der angegebenen Ursache nicht verarbeitet.An assembly custom attribute was not processed by Al.exe for the specified reason.
al1052al1052 Die Datei "filename" ist keine Assembly.File 'filename' is not an assembly

Die mit /template angegebene Datei muss Assemblymetadaten enthalten.The file specified with /template must contain assembly metadata. Dieser Fehler gibt an, dass die durch /template angegebene Datei keine Assembly enthielt.This error indicates that the file specified by /template did not contain an assembly.
al1053al1053 Die Version "version", die für "option" angegeben wird, weist nicht das normale major.minor.build.revision-Format auf.The version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

Al.exe hat falsch formatierte Versionsinformationen ermittelt, die mit den Optionen /fileversion oder /productversion angegeben wurden.Al.exe detected ill-formed version information specified with the /fileversion or /productversion options.
al1054al1054 Die Version "version", die für "option" angegeben wird, weist nicht das normale major.minor.build.revision-Format auf.The version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

Al.exe hat falsch formatierte Versionsinformationen ermittelt, die mit SatelliteContractVersionAttribute angegeben werden.Al.exe detected ill-formed version information specified with the SatelliteContractVersionAttribute.
al1055al1055 Die referenzierte Assembly "filename" weist keinen starken Namen auf.Referenced assembly 'filename' does not have a strong name

Dieser Fehler wird ausgegeben, wenn Sie eine Assembly mit einem starken Namen erstellen und auf eine Assembly verweisen, die keinen starken Namen besitzt.This error is issued when you are building an assembly with a strong name and reference an assembly that does not have a strong name. 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).To fix this, you must either regenerate your assembly with a strong name, or attach a strong name to the assembly by using Sn.exe (see the documentation for 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.A common occurrence of this error is when you are using COM objects by way of wrapper assemblies, such as when you add a reference to a COM module to a C# project by way of the Visual Studio IDE. 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.To avoid the error, you can specify the strong name key file for COM wrapper assemblies in the Project Property "Wrapper Assembly Key File/Name"

Wenn Sie die Wrapperassembly über „tlbimp“ erstellen, finden Sie in der Dokumentation zu tlbimp weitere Informationen, wie der Wrapperassembly ein starker Name zugewiesen wird.If you are creating the wrapper assembly through tlbimp, see the tlbimp documentation for information about how to assign a strong name to the wrapper assembly.

Wenn eine Assembly einen starken Namen besitzt, kann sie im globalen Assemblycache installiert werden.If an assembly has a strong name, it can be installed in the global assembly cache. Daher werden referenzierte Assemblys ebenfalls im globalen Assemblycache gespeichert.Consequently, referenced assemblies would also go into the global assembly cache. Nur Assemblys mit starken Namen können im globalen Assemblycache Gespeichert werden.Only assemblies with strong names can go into the global assembly cache.
al1056al1056 Die referenzierte Assembly "filename" ist eine lokalisierte Satellitenassembly.Referenced assembly 'filename' is a localized satellite assembly

Auf eine Assembly, die mithilfe des Attributs AssemblyCultureAttribute erstellt wurde, wurde bei der Erstellung der aktuellen Assembly verwiesen.An assembly created by using the AssemblyCultureAttribute attribute was referenced in creating the current assembly. Das Attribut AssemblyCultureAttribute gibt an, dass die Datei eine lokalisierte Satellitenassembly und nicht geeignet ist, um auf eine Satellitenassembly zu verweisen.The AssemblyCultureAttribute attribute indicates the file is a localized satellite assembly and it is not appropriate to reference a satellite assembly. Sie sollten stattdessen ggf. auf die übergeordnete Hauptassembly verweisen.You should probably reference the main parent assembly instead.
al1057al1057 Ausführbare Dateien dürfen nicht lokalisiert sein. Die Kultur sollte immer leer sein.Executables cannot be localized, Culture should always be empty

Eine Assembly wird mithilfe von /target:exe erstellt, aber /culture wurde angegeben.An assembly is being created by using /target:exe but /culture was specified. Assemblys in der EXE-Datei dürfen keine Informationen im Feld „Culture“ enthalten.Assemblies in the .exe cannot have information in the Culture field.
al1058al1058 "file" ist eine Assembly und kann nicht als Modul hinzugefügt werden.'file' is an assembly and cannot be added as a module

In einer C++-Kompilierung wurde /assemblymodule (Linkeroption) eine Datei übergeben, die eine Assembly enthielt.In a C++ compilation, /assemblymodule (linker option) was passed a file that contained an assembly.
al1059al1059 Unbekannter Fehler (Code).Unknown error (code)

Al.exe hat einen unbekannten Fehlercode (code) empfangen.Al.exe received an unknown error code (code).

Die folgenden Lösungen sind möglich:Possible solutions include the following:

Installieren Sie Visual Studio erneut.Reinstall Visual Studio.

Installieren Sie das Windows SDK erneut.Reinstall the Windows SDK.

Überprüfen Sie, ob Dateien fehlen.Check for missing files.

Überprüfen Sie, ob ausreichend Speicherplatz vorhanden ist.Check for adequate disk space.

Überprüfen Sie, ob ausreichend Arbeitsspeicher vorhanden ist.Check for adequate memory.

Beenden Sie andere Prozesse, die ggf. auf die Dateien zugreifen.Stop other processes that might be accessing the files.

Starten Sie den Computer neu.Reboot your computer.
al1060al1060 Kryptografischer Fehler bei der Hasherstellung - UrsacheCryptographic failure while creating hashes — reason

Fehler beim Erstellen der Dateihashwerte für eine Mehrfachdateiassembly.An error occurred while creating the file hashes for a multifile assembly.
al1061al1061 Die Option "option" kann aufgrund von "reason" nicht festgelegt werden.Cannot set option 'option' because 'reason'

Der für diese Option angegebene Wert ist aufgrund der angegebenen Ursache ungültig.The value specified for this option is invalid for the specified reason.
al1062al1062 Das Modul "module" mehrmals angegeben. Es wird nur ein Mal eingeschlossen.Module 'module' was specified multiple times; it will only be included once

Diese Warnung wird generiert, wenn die gleiche Quell-, Eingabe- oder Moduldatei mehrmals in der Befehlszeile angegeben wird.This warning is generated when the same source, input, or module file is specified multiple times on the command line. Stellen Sie sicher, dass Sie den Dateinamen nur ein Mal angeben.Make sure that you specify the file name only once.
al1063al1063 Der öffentliche Typ "type" wird an mehreren Speicherorten in dieser Assembly definiert: "file1" und "file2".Public type 'type' is defined in multiple locations in this assembly: 'file1' and 'file2'

Der gleiche Typ wurde in mehreren Modulen in der Assembly gefunden.The same type was found in more than one module in the assembly. Nur eine Version jedes Typs kann in einer Assembly vorhanden sein.Only one version of each type may be present in an assembly.
al1064al1064 Mehrere /bugreport-Optionen dürfen nicht angegeben werden.Cannot specify multiple /bugreport options.

Nur eine Option /bugreport ist zulässig.Only one /bugreport option is allowed.
al1065al1065 Der Dateiname "File Name" ist zu lang oder ungültig.File name 'File Name' is too long or invalid

Der angegebene Dateiname ist länger als die maximal zulässige Anzahl von Zeichen.The specified file name is longer than the maximum allowed.
al1066al1066 Das Zeichen "character" ist in der Befehlszeile oder in Antwortdateien unzulässig.Character 'character' is not allowed on the command-line or in response files

In der Befehlszeile oder in einer Datei wurde ein ungültiges Zeichen gefunden.An invalid character was found, either on the command line or in a file.
al1067al1067 "filename" ist eine Binärdatei und keine Textdatei.'filename' is a binary file instead of a text file

Die Datei liegt im Binärformat anstatt im Textformat vor.The file is in binary format instead of text.
al1068al1068 Das Modul "ModuleName" ist bereits in dieser Assembly definiert.Module 'ModuleName' is already defined in this assembly. Alle verknüpften Ressourcen und Module müssen einen eindeutigen Dateinamen besitzen.Each linked resource and module must have a unique file name.

Das Modul kommt in dieser Assembly mehrmals vor.The module occurs more than once in this assembly.
al1069al1069 Der kurze Dateiname "filename" kann nicht erstellt werden, wenn bereits ein langer Dateiname mit dem gleichen kurzen Dateinamen vorhanden ist.Cannot create short file name 'filename' when a long file name with the same short file name already exists

Die aktuelle Datei weist einen Namen auf, der die kurze Version eines Dateinamens ist, der bereits vorhanden ist.The current file has a name that is the short version of a file name that already exists. 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.For example, compiling LongFileName.cs and then recompiling with the name LongFi~1.cs will cause a compiler error similar to this. Wenn die Compilerausgabedateien, die lange Namen aufweisen, gelöscht wurden, die analogen Linkerdateien aber beibehalten wurden, kann dieser Fehler auftreten.If the compiler output files that have long names were deleted, but the analogous linker files remained, this error might occur.
al1070al1070 Die agnostische Assembly kann kein prozessorspezifisches Modul "Module Name" aufweisen.Agnostic assembly cannot have a processor specific module 'Module Name'

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.If you are building using /platform:agnostic (or you don’t specify /platform), an error will be generated if you try to add a module (using /addmodule) that is not agnostic. Dies ist vergleichbar mit dem Versuch, eine i386-Objektdatei mit einem ia64-Objekt zu verknüpfen.This is like trying to link an i386 obj file to an ia64 obj.

Die Hauptquelle nicht agnostischer Module ist C++.The main source of non-agnostic modules is C++. Wenn Sie /addmodule mit einem C++-Modul verwenden, müssen Sie ggf. Ihre Buildskripts ändern, um die richtige /platform-Einstellung anzugeben.If you are using /addmodule with a C++ module, you may have to modify your build scripts to specify the appropriate /platform setting.
al1072al1072 Die Assembly und das Modul "Module Name" können nicht verschiedene Zielprozessoren besitzen.Assembly and module 'Module Name' cannot target different processors

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.You cannot link an assembly and a module that are targeted for different processors, because the result has to run on a single processor.
al1073al1073 Die Assembly "assembly", auf die verwiesen wird, ist für einen anderen Zielprozessor ausgelegt.Referenced assembly 'assembly' targets a different processor

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.You cannot link assemblies that are targeted for different processors, because the result has to run on a single processor.
al1074al1074 Der in "File Name" gespeicherte Modulname "Modul Name" muss mit seinem Dateinamen übereinstimmen.Module name 'Module Name' stored in 'File Name' must match its file name

Dies ist für den Linker erforderlich.This is required of the linker. Stellen Sie sicher, dass die beiden Namen übereinstimmen, um dieses Problem zu beheben.To resolve this problem, make the two names match.
al1075al1075 Verzögerte Signierung wurde angefordert, es wurde aber kein Schlüssel angegeben.Delay signing was requested, but no key was given

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.When an assembly is delay signed, the compiler does not compute and store the signature, but reserves space in the file so the signature can be added later.

Mit /delaysign+ können Tester die Assembly beispielsweise im globalen Cache ablegen.For example, using /delaysign+ enables a tester to put the assembly in the global cache. 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.After testing, you can fully sign the assembly by adding the private key to the assembly by using the Assembly Linker utility.
al1076al1076 Der Typ "type" wird an mehrere Assemblys weitergeleitet: "assembly" und "assembly".Type 'type' is forwarded to multiple assemblies: 'assembly' and 'assembly'.

Ein Typ kann nur an eine Assembly weitergeleitet werden.A type can only be forwarded to one assembly.
al1077al1077 Der öffentliche Typ "type" wird in "assembly" definiert und an "assembly" weitergeleitet.Public type 'type' is defined in 'assembly' and forwarded to 'assembly'.

In der Assembly, die generiert wird, ist ein öffentlicher Typ doppelt vorhanden.There is a duplicate public type in the assembly being generated. Ein Typ ist eine gültige Typdefinition,der andere Typ ist eine Typweiterleitung.One is a valid type definition and the other is a type forwarder.

BeispielExample

Mit dem folgenden Befehl wird die ausführbare Datei t2a.exe mit einer Assembly aus dem t2.netmodule-Modul erstellt.The following command creates an executable file t2a.exe with an assembly from the t2.netmodule module. Der Einstiegspunkt ist die Main-Methode in MyClass.The entry point is the Main method in MyClass.

al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main

Siehe auchSee also