Al.exe (Assembly Linker)Al.exe (Assembly Linker)

Assembly Linker genera un archivo con un manifiesto del ensamblado a partir de uno o varios archivos que son módulos o archivos de recursos.The Assembly Linker generates a file that has an assembly manifest from one or more files that are either modules or resource files. Un módulo es un archivo de lenguaje intermedio (IL) que no tiene un manifiesto del ensamblado.A module is an intermediate language (IL) file that does not have an assembly manifest.

Nota

A partir de Visual Studio 2008, los compiladores de Visual Basic y de C# incrustan automáticamente un manifiesto de Win32 en el ensamblado.Starting with Visual Studio 2008, both the C# and Visual Basic compilers automatically embed a Win32 manifest into the assembly. Para obtener más información, consulte //win32manifest (opciones del compilador de C#).For more information, see /win32manifest (C# Compiler Options).

Esta herramienta se instala automáticamente con Visual Studio.This tool is automatically installed with Visual Studio. Para ejecutar la herramienta, use Símbolo del sistema para desarrolladores de Visual Studio (o Símbolo del sistema de Visual Studio en Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Para más información, consulte Símbolos del sistema.For more information, see Command Prompts.

En el símbolo del sistema, escriba lo siguiente:At the command prompt, type the following:

SintaxisSyntax

al sources options

ParámetrosParameters

Puede especificar uno o varios de los siguientes orígenes (sources).You can specify one or more of the following sources.

OrigenSource DescripciónDescription
file[,target]file[,target] Copia el contenido de file (un módulo) en el nombre de archivo especificado en target.Copies the contents of file (a module) to the file name specified by target. Después de la copia, Al.exe compila target en un ensamblado.After copying, Al.exe compiles target into an assembly.
/embed[resource]: file[,name[,private]]/embed[resource]: file[,name[,private]] Inserta el recurso especificado en file en la imagen que contiene el manifiesto del ensamblado; Al.exe copia el contenido de file en la imagen portable ejecutable (PE).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.

El parámetro name es un identificador interno del recurso.The name parameter is an internal identifier for the resource. De forma predeterminada, los recursos son públicos en el ensamblado (visibles para otros ensamblados).By default, resources are public in the assembly (visible to other assemblies). Si se especifica private, el recurso no es visible para otros ensamblados.Specifying private makes the resource not visible to other assemblies.

Si file es un archivo de recursos de .NET Framework creado, por ejemplo, por el Generador de archivos de recursos Resgen.exe) o en el entorno de desarrollo, se puede tener acceso al mismo con miembros del System.Resources.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. Para obtener más información, vea ResourceManager.For more information, see ResourceManager. Para todos los demás recursos, use los métodos GetManifestResource* de Assembly para obtener acceso al recurso en tiempo de ejecución.For all other resources, use the GetManifestResource* methods in the Assembly to access the resource at run time.

Si solo se pasan archivos de recursos a Al.exe, el archivo de salida es un ensamblado de recursos satélite.If only resource files are passed to Al.exe, the output file is a satellite resource assembly.
/link[resource]: file[,name[,target[,private]]]/link[resource]: file[,name[,target[,private]]] Vincula un archivo de recursos a un ensamblado.Links a resource file to an assembly. El recurso especificado en file pasa a formar parte del ensamblado; el archivo no se copia.The resource specified by file becomes part of the assembly; the file is not copied. El parámetro file puede estar en cualquier formato de archivo.The file parameter can be in any file format. Por ejemplo, puede especificar un archivo DLL nativo como parámetro file.For example, you can specify a native DLL as the file parameter. Así, el archivo DLL nativo formará parte del ensamblado; de esta forma, se podrá instalar en la caché global de ensamblados y tener acceso al mismo a partir de código administrado del ensamblado.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. También puede hacerlo mediante la opción del compilador /linkresource.You can also do this by using the /linkresource compiler option. Para obtener más información, consulte /linkresource (Opciones del compilador de C#).For more information, see /linkresource (C# Compiler Options).

El parámetro name es un identificador interno del recurso.The name parameter is an internal identifier for the resource. El parámetro target especifica una ruta de acceso y el nombre del archivo en el que Al.exe copia el file.The target parameter specifies a path and file name into which Al.exe copies the file. Después de la copia, Al.exe compila target en un ensamblado.After copying, Al.exe compiles target into an assembly. De forma predeterminada, los recursos son públicos en el ensamblado (visibles para otros ensamblados).By default, resources are public in the assembly (visible to other assemblies). Si se especifica private, el recurso no es visible para otros ensamblados.Specifying private makes the resource not visible to other assemblies.

Si file es un archivo de recursos de .NET Framework creado, por ejemplo, por el Generador de archivos de recursos (Resgen.exe) o en el entorno de desarrollo, se puede tener acceso al mismo con miembros del espacio de nombres System.Resources.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. Para obtener más información, vea ResourceManager.For more information, see ResourceManager. Para todos los demás recursos, use los métodos GetManifestResource * de la clase Assembly para tener acceso al recurso en tiempo de ejecución.For all other resources, use the GetManifestResource * methods in the Assembly class to access the resource at run time.

Si solo se pasan archivos de recursos a Al.exe, el archivo de salida es un ensamblado de recursos satélite.If only resource files are passed to Al.exe, the output file is a satellite resource assembly.

Se pueden especificar las siguientes options; debe especificar /out.You can specify the following options; you must specify /out.

OpciónOption DescripciónDescription
/algid: id/algid: id Especifica un algoritmo que genera un valor hash para todos los archivos en un ensamblado de múltiples archivos, exceptuando el archivo que contiene el manifiesto del ensamblado.Specifies an algorithm to hash all files in a multifile assembly except the file that contains the assembly manifest. El algoritmo predeterminado es CALG_SHA1.The default algorithm is CALG_SHA1. Para obtener información sobre otros algoritmos, vea ALG_ID en la documentación de Platform SDK.See ALG_ID in the Platform SDK documentation for other algorithms. En la primera versión de .NET Framework, solo son válidos los algoritmos CALG_SHA1 y CALG_MD5.For the first release of the .NET Framework, only CALG_SHA1 and CALG_MD5 are valid.

Los valores hash se almacenan en la tabla de archivos del manifiesto del ensamblado.The hash values are stored in the file table of the assembly manifest. Durante la instalación y la carga, se cotejan los valores hash de los archivos del ensamblado.At installation and load time, the assembly's files are checked against their hashes.

También puede especificar esta opción como un atributo personalizado (AssemblyAlgorithmIdAttribute) en el código fuente de cualquier módulo.You can also specify this option as a custom attribute (AssemblyAlgorithmIdAttribute) in the source code for any module.
/base[address]: addr/base[address]: addr Especifica la dirección donde se cargará un archivo DLL en el equipo del usuario en tiempo de ejecución.Specifies the address at which a DLL will be loaded on the user's computer at run time. Las aplicaciones se cargan con mayor rapidez si se especifica la dirección base de los archivos DLL, en lugar de dejar que el sistema operativo cambie la ubicación de los mismos en el espacio de proceso.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 Crea un archivo (filename) que contiene información de errores.Creates a file (filename) that contains information for reporting bugs.
/comp[any]: text/comp[any]: text Especifica una cadena para el campo Company del ensamblado.Specifies a string for the Company field in the assembly. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si no especifica /win32res, en el Explorador de archivos aparecerá text como la propiedad Company del archivo.If you do not specify /win32res, text appears in File Explorer as the Company property for the file. Si especifica /win32res, la información de la compañía del archivo de recursos especificado aparecerá como la propiedad Company en el Explorador de archivos.If you specify /win32res, the company information in the specified resource file appears as the Company property in File Explorer.

Si el texto es una cadena vacía (""), el recurso Company de Win32 aparece como un único espacio.If text is an empty string (""), the Win32 Company resource appears as a single space.

Si especifica /win32res, /company no tendrá ningún efecto en la información de recursos de Win32.If you specify /win32res, /company will not affect the Win32 resource information.

También puede especificar esta opción como un atributo personalizado (AssemblyCompanyAttribute) en el código fuente de cualquier módulo MSIL.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 Especifica una cadena para el campo Configuration del ensamblado.Specifies a string for the Configuration field in the assembly. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si el texto es una cadena vacía, el recurso Configuration de Win32 aparece como un único espacio.If text is an empty string, the Win32 Configuration resource appears as a single space.

También puede especificar esta opción como un atributo personalizado (AssemblyConfigurationAttribute) en el código fuente de cualquier módulo MSIL.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 Especifica una cadena para el campo Copyright del ensamblado.Specifies a string for the Copyright field in the assembly. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si no especifica /win32res, en el Explorador de archivos aparece /copyright como el recurso Copyright de Win32.If you do not specify /win32res, /copyright appears in File Explorer as the Win32 Copyright resource.

Si el texto es una cadena vacía, el recurso Copyright de Win32 aparece como un único espacio.If text is an empty string, the Win32 Copyright resource appears as a single space.

Si especifica /win32res, /copyright no tendrá ningún efecto en la información de recursos de Win32.If you specify /win32res, /copyright will not affect the Win32 resource information.

También puede especificar esta opción como un atributo personalizado (AssemblyCopyrightAttribute) en el código fuente de cualquier módulo MSIL.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 Especifica la cadena de referencia cultural que se va a asociar al ensamblado.Specifies the culture string to associate with the assembly. Los valores válidos para las referencias culturales son los definidos en el documento 1766 de Requests for Comments (RFC) en Internet titulado "Tags for the Identification of Languages".Valid values for cultures are those defined by the Internet Requests for Comments (RFC) document 1766 titled "Tags for the Identification of Languages."

Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. No existe ninguna cadena de referencia cultural predeterminada.There is no default culture string. Esta cadena se puede ver con el mecanismo de reflexión.This string is available for viewing with reflection.

Para obtener información sobre las cadenas text válidas, vea el objeto CultureInfo.For information about valid text strings, see the CultureInfo.

También puede especificar esta opción como un atributo personalizado (AssemblyCultureAttribute) en el código fuente de cualquier módulo MSIL.You can also specify this option as a custom attribute (AssemblyCultureAttribute) in the source code for any MSIL module.
/delay[sign][+|-]/delay[sign][+|-] Especifica si el ensamblado estará firmado total o parcialmente.Specifies whether the assembly will be fully or partially signed. Use /delaysign- para firmar completamente un ensamblado.Use /delaysign- if you want a fully signed assembly. Use /delaysign+ si quiere incluir solo la clave pública en el ensamblado.Use /delaysign+ if you only want to include the public key in the assembly.

Cuando se solicita un ensamblado totalmente firmado, Al.exe genera un valor hash para el archivo que contiene el manifiesto (metadatos del ensamblado) y firma dicho valor mediante la clave privada.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. La firma digital resultante se almacena en el archivo que contiene el manifiesto.The resulting digital signature is stored in the file that contains the manifest. Cuando se retrasa la firma de un ensamblado, Al.exe no calcula ni almacena la firma, sino que reserva espacio en el archivo para que la firma se pueda agregar más tarde.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.

El valor predeterminado es /delaysign-.The default is /delaysign-.

La opción /delaysign no tiene ningún efecto a menos que se use con /keyfile o /keyname.The /delaysign option has no effect unless used with /keyfile or /keyname.

Por ejemplo, si se usa /delaysign+, los evaluadores podrán colocar el ensamblado en la memoria caché global.For example, using /delaysign+ enables a tester to put the assembly in the global cache. Una vez realizadas las pruebas, puede firmar completamente el ensamblado incluyendo en él la clave privada.After testing, you can fully sign the assembly by including the private key in the assembly.

Nota: Antes de usar Gacutil.exe (herramienta de caché global de ensamblados) para poner un ensamblado con firma retrasada en la caché global, use Sn.exe (herramienta de nombre seguro) para registrar el ensamblado con el fin de omitir la comprobación.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. Por ejemplo: Sn.exe –Vr delaySignedAssembly.For example, Sn.exe –Vr delaySignedAssembly. Solo debe usarse durante el desarrollo.Use this only for development.

También puede especificar esta opción como un atributo personalizado (AssemblyDelaySignAttribute) en el código fuente de cualquier módulo MSIL.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 Especifica una cadena para el campo Description del ensamblado.Specifies a string for the Description field in the assembly. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si no especifica /win32res, en el Explorador de archivos aparecerá /description como el recurso Comments de Win32.If you do not specify /win32res, /description appears in File Explorer as the Win32 Comments resource.

Si el texto es una cadena vacía, el recurso Comments de Win32 aparece como un único espacio.If text is an empty string, the Win32 Comments resource appears as a single space.

Si especifica /win32res, /description no tendrá ningún efecto en la información de recursos de Win32.If you specify /win32res, /description will not affect the Win32 resource information.

También puede especificar esta opción como un atributo personalizado (Description) en el código fuente de cualquier módulo MSIL.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 Incrusta file en el ensamblado con el nombre de recurso Security.Evidence.Embeds file in the assembly with the resource name of Security.Evidence.

No se puede usar Security.Evidence para los recursos habituales.You cannot use Security.Evidence for regular resources.
/fileversion: version/fileversion: version Especifica una cadena para el campo Versión del archivo del ensamblado.Specifies a string for the File Version field in the assembly. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si no especifica /win32res, /fileversion se usará como el recurso File Version de Win32.If you do not specify /win32res, /fileversion will be used as the Win32 File Version resource. Si no especifica /fileversion, el recurso File Version de Win32 se rellenará con el recurso Assembly Version de Win32.If you do not specify /fileversion, the Win32 File Version resource will be populated by the Win32 Assembly Version resource.

Si se especifica /win32res, /fileversion no tendrá ningún efecto en el recurso de Win32.If /win32res is specified, /fileversion does not affect the Win32 resource.

También puede especificar esta opción como un atributo personalizado (AssemblyFileVersionAttribute) en el código fuente de cualquier módulo MSIL.You can also specify this option as a custom attribute (AssemblyFileVersionAttribute) in the source code for any MSIL module.
/flags: flags/flags: flags Especifica un valor para el campo Flags del ensamblado.Specifies a value for the Flags field in the assembly. Los valores posibles de flags son los siguientes:Possible values for flags:

0x00000x0000
El ensamblado es compatible con aplicaciones en paralelo.The assembly is side-by-side compatible.

0x00100x0010
El ensamblado no puede ejecutarse con otras versiones si se ejecutan en el mismo dominio de aplicación.The assembly cannot execute with other versions if they are executing in the same application domain.

0x00200x0020
El ensamblado no puede ejecutarse con otras versiones si se ejecutan en el mismo proceso.The assembly cannot execute with other versions if they are executing in the same process.

0x00300x0030
El ensamblado no puede ejecutarse con otras versiones si estas se ejecutan en el mismo equipo.The assembly cannot execute with other versions if they are executing on the same computer.

También puede especificar esta opción como un atributo personalizado (AssemblyFlagsAttribute) en el código fuente de cualquier módulo MSIL.You can also specify this option as a custom attribute (AssemblyFlagsAttribute) in the source code for any MSIL module.
/fullpaths/fullpaths Hace que Al.exe use la ruta de acceso absoluta de los archivos mencionados en un mensaje de error.Causes Al.exe to use the absolute path for any files that are reported in an error message.
/help/help Muestra las opciones y la sintaxis de los comandos para la herramienta.Displays command syntax and options for the tool.
/keyf[ile]: filename/keyf[ile]: filename Especifica un archivo (filename) que contiene un par de claves o simplemente una clave pública para firmar un ensamblado.Specifies a file (filename) that contains a key pair or just a public key to sign an assembly. El compilador inserta la clave pública en el manifiesto del ensamblado y firma después el ensamblado final con la clave privada.The compiler inserts the public key in the assembly manifest and then signs the final assembly with the private key. Para obtener información sobre la generación de archivos de clave y la instalación de pares de claves en contenedores de claves, vea el artículo sobre la herramienta de nombre seguro (Sn.exe).See the Strong Name Tool (Sn.exe) for information about generating key files and installing key pairs into key containers.

Si está usando la opción de firma retrasada, este archivo tendrá normalmente la clave pública, pero no la clave privada.If you are using delayed signing, this file will usually have the public key but not the private key.

La información sobre la clave pública (del par de claves) aparece en el campo .publickey del ensamblado.The public key (of the key pair) information appears in the .publickey field of the assembly.

También puede especificar esta opción como un atributo personalizado (AssemblyKeyFileAttribute) en el código fuente de cualquier módulo MSIL.You can also specify this option as a custom attribute (AssemblyKeyFileAttribute) in the source code for any MSIL module.

Si especifica /keyfile y /keyname (mediante una opción de la línea de comandos o mediante un atributo personalizado) en la misma compilación, Al.exe probará en primer lugar el contenedor especificado con /keyname.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. Si esta operación se realiza correctamente, el ensamblado se firma con la información del contenedor de claves.If that succeeds, the assembly is signed with the information in the key container. Si Al.exe no encuentra el contenedor de claves, probará el archivo especificado con /keyfile.If Al.exe does not find the key container, it will try the file specified with /keyfile. Si esta operación se efectúa correctamente, el ensamblado se firmará con la información del archivo de claves y la información de clave se instalará en el contenedor de claves (similar a la opción -i de Sn.exe), por lo que en la siguiente compilación, la opción /keyname será válida.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 Especifica un contenedor que contiene un par de claves.Specifies a container that holds a key pair. De este modo, el ensamblado se firmará (recibirá un nombre seguro) mediante la inserción de una clave pública en el manifiesto del ensamblado.This will sign the assembly (give it a strong name) by inserting a public key into the assembly manifest. Al.exe firmará después el ensamblado final con la clave privada.Al.exe will then sign the final assembly with the private key.

Use Sn.exe para generar un par de claves.Use Sn.exe to generate a key pair.

La información de clave aparece en el campo .publickey del ensamblado.The key information appears in the .publickey field of the assembly.

Coloque text entre comillas dobles (" ") si hay un espacio incrustado.Place text in double quotation marks (" ") if there is an embedded space.

También puede especificar esta opción como un atributo personalizado (AssemblyKeyNameAttribute) en el código fuente de cualquier módulo MSIL.You can also specify this option as a custom attribute (AssemblyKeyNameAttribute) in the source code for any MSIL module.
/main: method/main: method Especifica el nombre completo (class.method) del método que se usará como punto de entrada al convertir un módulo en un archivo ejecutable.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 Suprime la pancarta, o el logotipo, que se muestra en la línea de comandos cuando se invoca Al.exe.Suppresses the banner, or logo, displayed at the command line when you invoke Al.exe.
/out: filename/out: filename Especifica el nombre del archivo generado por Al.exe.Specifies the name of the file produced by Al.exe. Esta es una opción necesaria.This is a required option.
/platform: text/platform: text Limita en qué plataformas se puede ejecutar este código; debe ser x86, Itanium, x64, anycpu (valor predeterminado) o 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 Especifica una cadena para el campo Producto del ensamblado.Specifies a string for the Product field in the assembly. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si no especifica /win32res, en el Explorador de archivos aparecerá /product como el recurso Nombre del producto de Win32.If you do not specify /win32res, /product appears in File Explorer as the Win32 Product Name resource.

Si el texto es una cadena vacía, el recurso Nombre del producto de Win32 aparece como un único espacio.If text is an empty string, the Win32 Product Name resource appears as a single space.

Si especifica /win32res, /product no tendrá ningún efecto en la información de recursos de Win32.If you specify /win32res, /product will not affect the Win32 resource information.

También puede especificar esta opción como un atributo personalizado (AssemblyProductAttribute) en el código fuente de cualquier módulo MSIL.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 Especifica una cadena para el campo Versión del producto del ensamblado.Specifies a string for the Product Version field in the assembly. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si no especifica /win32res, en el Explorador de archivos aparecerá /productversion como el recurso Versión del producto de Win32.If you do not specify /win32res, /productversion will be used as the Win32 Product Version resource. Si no especifica /productversion, el recurso Versión del producto de Win32 se rellenará con el recurso Versión del archivo de Win32.If you do not specify /productversion, the Win32 Product Version resource will be populated by the Win32 File Version resource.

Si especifica /win32res, /productversion no tendrá ningún efecto en la información de recursos de Win32.If you specify /win32res, /productversion will not affect the Win32 resource information.

También puede especificar esta opción como un atributo personalizado (AssemblyInformationalVersionAttribute) en el código fuente de cualquier módulo MSIL.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] Especifica el formato del archivo de salida: lib[rary] (biblioteca de códigos), exe (aplicación de consola) o win[exe] (aplicación basada en Windows).Specifies the file format of the output file: lib[rary] (code library), exe (console application), or win[exe] (Windows-based application). De manera predeterminada, es lib[rary].The default is lib[rary].
/template: filename/template: filename Especifica el ensamblado, filename, del que se heredarán todos los metadatos del ensamblado, salvo el campo correspondiente a la referencia cultural.Specifies the assembly, filename, from which to inherit all assembly metadata, except the culture field.

Los ensamblados creados con /template serán ensamblados satélite.An assembly that you create with /template will be a satellite assembly.
/title: text/title: text Especifica una cadena para el campo Título del ensamblado.Specifies a string for the Title field in the assembly. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si no especifica /win32res, en el Explorador de archivos aparecerá /title como el recurso Descripción de Win32, usado por el shell como nombre descriptivo de una aplicación.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. También se muestra en el submenú Abrir con del menú contextual de un tipo de archivo para el que existen varias aplicaciones compatibles.It is also displayed on the Open With submenu of the shortcut menu for a file type for which there are multiple supporting applications.

Si el texto es una cadena vacía, el recurso Descripción de Win32 aparece como un único espacio.If text is an empty string, the Win32 Description resource appears as a single space.

Si especifica /win32res, /title no tendrá ningún efecto en la información de recursos de Win32.If you specify /win32res, /title will not affect the Win32 resource information.

También puede especificar esta opción como un atributo personalizado (AssemblyTitleAttribute) en el código fuente de cualquier módulo MSIL.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 Especifica una cadena para el campo Marca registrada del ensamblado.Specifies a string for the Trademark field in the assembly. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" ").Place the string in double quotation marks (" ") if text contains a space. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.This string is a custom attribute on the assembly and is available for viewing with reflection.

Si no especifica /win32res, en el Explorador de archivos aparecerá /trademark como el recurso Marca registrada de Win32.If you do not specify /win32res, /trademark appears in File Explorer as the Win32 Trademark resource.

Si el texto es una cadena vacía, el recurso Marca registrada de Win32 aparece como un único espacio.If text is an empty string, the Win32 Trademark resource appears as a single space.

Si especifica /win32res, /trademark no tendrá ningún efecto en la información de recursos de Win32.If you specify /win32res, /trademark will not affect the Win32 resource information.

También puede especificar esta opción como un atributo personalizado (AssemblyTrademarkAttribute) en el código fuente de cualquier módulo MSIL.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 Especifica la información de versión de este ensamblado.Specifies version information for this assembly. El formato de la cadena de versión es major.minor.build.revision. El valor predeterminado es 0.The format of the version string is major.minor.build.revision. The default value is 0.

Si especifica /version, debe especificar major.If you do specify /version, you must specify major. Si especifica major y minor, puede especificar un asterisco (*) para build.If you specify major and minor, you can specify an asterisk (*)for build. Esto hará que build sea igual al número de días transcurridos desde el 1 de enero de 2000, hora local, y que revision sea igual al número de segundos transcurridos desde la medianoche del día actual, hora local, dividido por 2.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.

Si se especifica major, minor y build, se puede especificar un asterisco para revision.If you specify major, minor, and build, you can specify an asterisk for revision. Esto hará que revision sea igual al número de segundos transcurridos desde la medianoche del día actual, hora local, dividido por 2.This causes revision to be equal to the number of seconds since midnight of the current day, local time, divided by 2.

En resumen, las cadenas de versión válidas son la siguientes: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

donde X es una constante corta sin signo, exceptuando 65535 (0-65534).where X is any unsigned short constant except 65535 (0-65534).

Si no especifica /win32res, se usará /version como el recurso Assembly Version de Win32.If you do not specify /win32res, /version will be used as the Win32 Assembly Version resource.

Si no especifica /win32res, /productversion y /fileversion, se usará /version para los recursos Assembly Version, File Version y Product Version de Win32.If you do not specify /win32res, /productversion, and /fileversion, /version will be used for the Assembly Version, File Version, and Product Version Win32 resources.

Si especifica /win32res, /version no tendrá ningún efecto en la información de recursos de Win32.If you specify /win32res, /version will not affect the Win32 resource information.

También puede especificar esta opción como un atributo personalizado (AssemblyVersionAttribute) en el código fuente de cualquier módulo MSIL.You can also specify this option as a custom attribute (AssemblyVersionAttribute) in the source code for any MSIL module.
/win32icon: filename/win32icon: filename Inserta un archivo .ico en el ensamblado.Inserts an .ico file in the assembly. El archivo .ico proporciona al archivo de salida la apariencia deseada en el Explorador de archivos.The .ico file gives the output file the desired appearance in File Explorer.
/win32res: filename/win32res: filename Inserta un recurso de Win32 (archivo .res) en el archivo de salida.Inserts a Win32 resource (.res file) in the output file. Se puede crear un archivo de recursos de Win32 con el compilador de recursos.A Win32 resource file can be created by using the Resource Compiler. Cuando se compila un programa de Visual C++, se invoca el compilador de recursos y se crea un archivo .res a partir del archivo .rc.The Resource Compiler is invoked when you compile a Visual C++ program; a .res file is created from the .rc file.
@filename Especifica un archivo de respuesta que contiene comandos de Al.exe.Specifies a response file that contains Al.exe commands.

Los comandos del archivo de respuesta pueden aparecer uno por línea o en la misma línea, separados por uno o varios espacios.Commands in the response file can appear one per line or on the same line, separated by one or more spaces.
/?/? Muestra las opciones y la sintaxis de los comandos para la herramienta.Displays command syntax and options for the tool.

ComentariosRemarks

Todos los compiladores de Visual Studio generan ensamblados.All Visual Studio compilers produce assemblies. Pero si tiene uno o varios módulos (metadatos sin un manifiesto), puede usar Al.exe para crear un ensamblado con el manifiesto en un archivo independiente.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.

Para instalar ensamblados en la memoria caché, quitar ensamblados de la memoria caché o enumerar el contenido de la memoria caché, use la herramienta Caché global de ensamblados (Gacutil.exe).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).

Errores y advertenciasErrors and Warnings

En la tabla siguiente se enumeran los errores generados por Al.exe.The following table lists the errors generated by Al.exe.

ErrorError DescripciónDescription
al1001al1001 Error interno del compiladorInternal compiler error

Intente determinar si Al.exe está fallando porque no puede analizar una sintaxis inesperada.Try to determine whether Al.exe is failing because of its inability to parse unexpected syntax. A continuación, póngase en contacto con los servicios de soporte técnico de Microsoft.Then, contact Microsoft Product Support Services.
al1002al1002 Memoria agotadaOut of memory

Al.exe se ha quedado sin memoria y se ha detenido.Al.exe ran out of memory and stopped. Aumente la cantidad de memoria disponible.Increase the amount of available memory.
al1003al1003 La opción 'option' del compilador debe ir seguida de un argumentoCompiler option 'option' must be followed by an argument

Al.exe esperaba que un argumento se pasase a una opción de línea de comandos.Al.exe expected an argument to be passed to a command-line option. Por ejemplo, si especifica /algid:, debe pasar un identificador de algoritmos.For example, if you specify /algid:, you must pass an algorithm identifier.
al1004al1004 Error de inicialización inesperado de Common Language Runtime — 'motivo'Unexpected common language runtime initialization error — 'reason'

Al.exe ha notificado un error con la instalación de Visual Studio o Common Language Runtime por el motivo especificado.Al.exe reported an error with the installation of Visual Studio or the common language runtime for the specified reason.
al1005al1005 El archivo 'archivo' es demasiado grande para abrirloFile 'file' too big to open

Todos los archivos abiertos por Al.exe deben ser inferiores a 4 gigabytes (GB).All files opened by Al.exe must be smaller than 4 gigabytes (GB).
al1006al1006 El archivo de respuesta 'archivo' ya estaba incluidoResponse file 'file' was already included

Se especificó el mismo archivo de respuesta (@file) más de una vez en la línea de comandos.The same response file was specified (@file) more than once on the command line. El archivo de respuesta solo puede incluirse una vez.The response file can only be included once.
al1007al1007 Error al abrir el archivo de respuesta 'archivo' — 'motivo'Error opening response file 'file' — 'reason'

Al.exe no puede abrir el archivo de respuesta especificado por el motivo especificado.Al.exe cannot open the specified response file for the specified reason.
al1008al1008 Falta la especificación de archivo para la opción de línea de comandos 'opción'Missing file specification for 'option' command-line option

Al.exe esperaba que un archivo se pasase a una opción de línea de comandos.Al.exe expected a file to be passed to a command-line option. Por ejemplo, si especifica la opción /out, debe especificar un archivo.For example, if you specify the /out option, you must specify a file.
al1009al1009 No se puede abrir 'archivo' para escrituraCan't open 'file' for writing

Al.exe no pudo escribir en un archivo, por ejemplo, el archivo de ensamblado de salida.Al.exe was unable to write to a file, such as the output assembly file. Puede que el disco esté lleno, que el archivo sea de solo lectura o que no tenga permisos para el archivo.The disk might be full, the file might be read-only, or you might not have permissions to the file.
al1010al1010 Error de sintaxis de línea de comandos: Falta ":text" para la opción "option"Command-line syntax error: Missing ':text' for 'option' option

Al.exe esperaba que un argumento se pasase a una opción de línea de comandos.Al.exe expected an argument to be passed to a command-line option. Por ejemplo, si especifica la opción /title, debe pasar una cadena.For example, if you specify the /title option, you must pass a string.
al1011al1011 El archivo 'archivo' es un archivo ejecutable y no se puede abrir como archivo de textoFile 'file' is an executable file and cannot be opened as a text file

Se especificó un archivo binario cuando se esperaba un archivo de texto.A binary file was specified where a text file was expected. Por ejemplo, este error se produce si se pasa un archivo binario en la línea de comandos como un archivo de respuesta.For example, this error occurs if a binary file is passed on the command line as a response file.
al1012al1012 'valor' no es un valor válido para la opción 'opción''value' is not a valid setting for option 'option'

Se pasó un valor inesperado a una opción de línea de comandos.An unexpected value was passed to a command-line option. Por ejemplo, este error se produce si se especifica un valor no válido en la opción /target.For example, this error occurs if you specify an invalid value to the /target option.
al1013al1013 Opción de línea de comandos no reconocida: 'opción'Unrecognized command-line option: 'option'

Se especificó una opción de línea de comandos no válida.An invalid command-line option was specified.
al1014al1014 Error de inicialización inesperado — 'motivo'Unexpected initialization error — 'reason'

Al.exe ha detectado un error de inicialización de COM.Al.exe detected a COM initialization failure. Esto podría deberse a una falta de memoria, pero la causa más probable son los archivos DLL del sistema.This might be caused by a lack of memory, but a more likely cause is the system DLL files. Aparecerá un error similar si ejecuta cualquier programa compatible con Automatización o con COM, como Microsoft Visual Studio.You should see a similar error if you run any Automation-aware or COM-aware program, such as Microsoft Visual Studio.

Vuelva a instalar el sistema operativo.Reinstall the operating system.
al1015al1015 No se puede encontrar el archivo de mensajes 'alinkui.dll'Unable to find messages file 'alinkui.dll'

Al.exe requiere el archivo Alinkui.dll.Al.exe requires Alinkui.dll. Asegúrese de que este archivo está en la ruta de acceso.Make sure that this file is on your path. Si es necesario, cópielo desde el CD del producto.If necessary, copy it from the product CD.
al1016al1016 No se especificaron archivos de entrada válidos.No valid input files were specified

Al.exe necesita uno o más archivos de entrada que no tienen información de ensamblado.Al.exe requires one or more input files that do not have assembly information.
al1017al1017 No se especificó ningún nombre de archivo de destinoNo target file name was specified

Faltaba la opción obligatoria /out que especifica el nombre de archivo de destino.The required /out option specifying the target file name was missing.
al1018al1018 No se pudo cargar el archivo requerido 'archivo'Required file 'file' could not be loaded

No se pueden cargar determinados archivos DLL.Certain DLL files cannot be loaded. Vuelva a instalar Visual Studio o el Kit de desarrollo de software de Windows (SDK)Windows Software Development Kit (SDK).Reinstall Visual Studio or the Kit de desarrollo de software de Windows (SDK)Windows Software Development Kit (SDK).
al1019al1019 Error de metadatos al crear el ensamblado — motivoMetadata failure while creating assembly — reason

Se interrumpió la generación del ensamblado por el motivo especificado.Generation of the assembly was interrupted for the specified reason. Por ejemplo, este error se produce si no se encuentra ningún archivo especificado con la opción /win32res.For example, this error occurs if a file that you specify with the /win32res option is not found.
al1020al1020 Se ignoró el ensamblado 'archivo' incluidoIgnoring included assembly 'file'

Se especificó un archivo de entrada que contenía un ensamblado.An input file that contained an assembly was specified. Los archivos de entrada de Al.exe no pueden contener ensamblados.Al.exe input files cannot contain assemblies.
al1021al1021 'valor': se reemplazó el valor anterior'setting' : overriding previous setting

Un módulo tenía un valor de configuración concreto, asignado posiblemente a través de atributos personalizados, que se ha reemplazado por un valor pasado mediante una opción de línea de comandos de Al.exe.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 Error al leer el recurso incrustado 'archivo' — motivoError reading embedded resource 'file' — reason

Al.exe no puede leer el archivo pasado a la opción /embedresource por el motivo especificado.Al.exe cannot read the file passed to the /embedresource option for the specified reason.
al1023al1023 Error al incrustar el archivo 'archivo' de recursos — motivoError embedding resource 'file' — reason

El sistema operativo no puede incrustar el archivo de recursos en el ensamblado por el motivo especificado.The operating system cannot embed the resource file in the assembly for the specified reason.
al1025al1025 El registro ComType 'registro' apunta a un registro de archivo no válido 'registro'ComType record 'record' points to an invalid file record 'record'

Los metadatos del módulo de entrada no son válidos.Metadata in the input module is invalid. La herramienta que ha generado el módulo debe corregirse.The tool that produced the module must be fixed.
al1026al1026 La versión 'versión' especificada no es válidaThe version specified 'version' is invalid

Consulte la información sobre la opción /version para ver los formatos válidos.See information about the /version option for valid formats.
al1028al1028 Al archivo de clave 'archivo' le falta la clave privada necesaria para firmarKey file 'file' is missing the private key needed for signing

Un archivo de clave que contiene solo la clave pública se pasó a la opción /keyfile.A key file that contains only the public key was passed to the /keyfile option. Use la herramienta de nombre seguro (Sn.exe) para generar un archivo que contenga tanto una clave pública como una privada, tal como se muestra en el siguiente comando.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 El nombre del contenedor de claves 'contenedor' no existeThe key container name 'container' does not exist

El valor pasado a la opción /keyname no es un contenedor válido.The value passed to the /keyname option is not a valid container. Use la herramienta de nombre seguro (Sn.exe) para crear un contenedor.Use the Strong Name Tool (Sn.exe) to create a container.
al1030al1030 El servicio criptográfico no está instalado correctamente o no tiene un proveedor de claves adecuadoThe cryptographic service is not installed properly or does not have a suitable key provider

Tendrá que reinstalar el sistema operativo o instalar una utilidad criptográfica que se use para crear la clave.You might have to either reinstall the operating system or install some cryptographic utility that was that is used to create the key.
al1031al1031 Error al leer el icono 'archivo' — motivoError reading icon 'file' — reason

Al.exe no puede leer el archivo que se ha pasado a la opción /win32icon por el motivo especificado.Al.exe cannot read the file that was passed to the /win32icon option for the specified reason
al1032al1032 Error al generar recursos para 'archivo' — motivoError generating resources for 'file' — reason

Al.exe no puede crear un archivo debido a que el espacio en disco es insuficiente o a algún otro error.Al.exe cannot create a file because of insufficient disk space or some other error. Este error se produce cuando se especifica la opción /win32icon (que genera un archivo .ico) o no se especifica la opción /win32res (que genera un archivo que contiene información de recursos).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).

Si no puede resolver el problema de generación de archivos, use /win32res, que especifica un archivo que puede contener información de versión o mapa de bits (icono).If you cannot resolve the file generation problem, use /win32res, which specifies a file that can contain version or bitmap (icon) information.
al1033al1033 El atributo personalizado de ensamblado 'atributo' se especificó varias veces con distintos valoresAssembly custom attribute 'attribute' was specified multiple times with different values

Se han pasado valores distintos a dos apariciones del mismo atributo personalizado en módulos de origen que se especifican como entrada para Al.exe.Different values were passed to two occurrences of the same custom attribute in source modules that are specified as input to Al.exe.
al1034al1034 El ensamblado 'archivo' no se puede copiar ni cambiar de nombreAssembly 'file' cannot be copied or renamed

Al usar la sintaxis de Al.exe que permite especificar un archivo de entrada y copiarlo, se ha producido un conflicto de nombres que ha detenido el compilador.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. Por ejemplo, este error se produce si se especifica input.dll,somename.dll /out:somename.dll.For example, this error occurs if you specify input.dll,somename.dll /out:somename.dll.
al1035al1035 Las bibliotecas no pueden tener un punto de entradaLibraries cannot have an entry point

No se pueden especificar a la vez las opciones /target:lib (opción predeterminada) y /main.You cannot specify both the /target:lib option (the default) and the /main option.
al1036al1036 Punto de entrada necesario para las aplicaciones ejecutablesEntry point required for executable applications

Cuando usa la opción /target:exe o /target:win, también debe especificar la opción /main.When using the /target:exe or /target:win option, you must also specify the /main option.
al1037al1037 No se puede encontrar el método de punto de entrada 'main'Unable to find the entry point method 'main'

Al.exe no puede encontrar un método Main en la ubicación especificada por la opción /main.Al.exe cannot find a Main method at the location specified by the /main option.
al1039al1039 Error al inicializar el administrador de caché de ensamblados global — motivoInitialization of global assembly cache manager failed — reason

Vuelva a instalar Visual Studio o el Windows SDKWindows SDK.Reinstall Visual Studio or the Windows SDKWindows SDK.
al1040al1040 No se pudo instalar el ensamblado en caché — motivoFailed to install assembly into cache — reason

Solo los ensamblados firmados se pueden instalar en la caché.Only signed assemblies can be installed into the cache. Consulte el artículo sobre la caché global de ensamblados para obtener más información.See Global Assembly Cache for more information.
al1041al1041 'método': no puede ser el punto de entrada porque la firma o la visibilidad es incorrecta o es genérica'method': cannot be the entry point because the signature or visibility is incorrect, or it is generic

Se especificó un método con la opción /mainvoid, pero ese método no es estático, no devuelve ni int, es genérico o tiene argumentos no válidos.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": No se puede agregar módulos a los archivos EXE'exe': EXEs cannot be added modules

Se ha especificado un archivo .exe que no tiene un ensamblado como un archivo de entrada para Al.exe.An .exe file that does not have an assembly was specified as an input file to Al.exe. Al.exe solo puede tomar archivos dll sin ensamblados como archivos de entrada.Al.exe can only take dll files without assemblies as input files.
al1043al1043 El nombre de archivo de manifiesto 'nombre' no puede ser el mismo que el de los módulosManifest file name 'name' cannot be the same as any modules

El nombre especificado con la opción /out no puede ser el mismo que uno de los nombres de archivo que se especifican como entrada para Al.exe.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 Error al leer el archivo de clave 'archivo' — motivoError reading key file 'file' — reason

Se produjo un error al abrir o leer un archivo especificado con /keyfile o AssemblyKeyFileAttribute.An error occurred while opening or reading from a file specified with /keyfile or the AssemblyKeyFileAttribute.
al1045al1045 El nombre de archivo 'archivo' es demasiado largo o no válidoFilename 'file' is too long or invalid

Se ha pasado un nombre de archivo a Al.exe que supera los 260 caracteres.A file name longer than 260 characters was passed to Al.exe. Elija un nombre de archivo con menos caracteres o una ruta más corta, o cámbiele el nombre.Choose a file name with fewer characters or a shorter path, or rename the file.
al1046al1046 El identificador de recurso 'ID' ya se usó en este ensambladoResource identifier 'ID' has already been used in this assembly

Dos recursos, incrustados o vinculados, tienen el mismo identificador o nombre (el segundo argumento).Two resources, embedded or linked, have the same identifier or name (the second argument). Quite o cambie el nombre de uno de los recursos en conflicto.Remove or rename one of the conflicting resources.
al1047al1047 Error al importar el archivo 'archivo' — motivoError importing file 'file' — reason

No se puede abrir un archivo de módulo por el motivo especificado.A module file cannot be opened for the specified reason.
al1048al1048 Error al importar el módulo 'módulo' del ensamblado 'ensamblado' — motivoError importing module 'module' of assembly 'assembly' — reason

Se produjo un error al abrir un archivo nonmanifest de un ensamblado de múltiples archivos.An error occurred when opening a nonmanifest file of a multifile assembly. Este error no lo emite directamente Al.exe, pero se puede pasar mediante programación a un proceso que use Al.exe.This error is not emitted directly by Al.exe, but can be passed programmatically to a process that uses Al.exe.
al1049al1049 No se pueden generar automáticamente los números de versión de compilación y revisión para las fechas anteriores al 1 de enero de 2000Cannot auto-generate build and revision version numbers for dates before January 1, 2000

El reloj del sistema en el equipo está configurado en una fecha anterior al 1 de enero de 2000.The system clock on your computer is set to a date earlier than January 1, 2000.
al1050al1050 La característica 'característica antigua' que está usando ya no se admite; use 'característica nueva' en su lugar.The feature you are using 'old feature' is no longer supported; please use 'new feature' instead

Una característica que Al.exe admitía anteriormente está obsoleta.A feature previously supported by Al.exe is now obsolete. En su lugar, use la característica recomendada.Use the recommended feature instead.
al1051al1051 Error al emitir el atributo 'atributo' — 'motivo'Error emitting 'attribute' attribute —'reason'

Al.exe no ha procesado un atributo personalizado de ensamblado por el motivo especificado.An assembly custom attribute was not processed by Al.exe for the specified reason.
al1052al1052 El archivo 'archivo' no es un ensambladoFile 'filename' is not an assembly

El archivo especificado con /template debe contener metadatos del ensamblado.The file specified with /template must contain assembly metadata. Este error indica que el archivo especificado por /template no contenía un ensamblado.This error indicates that the file specified by /template did not contain an assembly.
al1053al1053 La versión 'versión' especificada para 'opción' no tiene el formato normal 'principal.secundaria.compilación.revisión'The version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

Al.exe ha detectado información de versión con un formato incorrecto especificado con las opciones /fileversion o /productversion.Al.exe detected ill-formed version information specified with the /fileversion or /productversion options.
al1054al1054 La versión 'versión' especificada para 'opción' no tiene el formato normal 'principal.secundaria.compilación.revisión'The version 'version' specified for the 'option' is not in the normal 'major.minor.build.revision' format

Al.exe ha detectado información de versión con un formato incorrecto especificado con SatelliteContractVersionAttribute.Al.exe detected ill-formed version information specified with the SatelliteContractVersionAttribute.
al1055al1055 El ensamblaje 'nombre_archivo' al que se hace referencia no tiene un nombre seguroReferenced assembly 'filename' does not have a strong name

Este error se genera cuando se compila un ensamblado con un nombre seguro y se hace referencia a un ensamblado que no tiene un nombre seguro.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. Para solucionar este problema, debe volver a generar el ensamblado con un nombre seguro o asociar un nombre seguro al ensamblado mediante Sn.exe (vea la documentación de 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).

Un ejemplo típico de este error es cuando se usan objetos COM mediante ensamblados de contenedor, como al agregar una referencia a un módulo COM a un proyecto de C# mediante el IDE de Visual Studio.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. Para evitar el error, puede especificar el archivo de clave de nombre seguro para los ensamblados de contenedor COM en la propiedad de proyecto "Archivo/Nombre de clave de ensamblado de contenedor".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"

Si va a crear el ensamblado de contenedor mediante tlbimp, consulte la documentación de tlbimp para obtener información sobre cómo asignar un nombre seguro al ensamblado de contenedor.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.

Si un ensamblado tiene un nombre seguro, puede instalarse en la caché global de ensamblados.If an assembly has a strong name, it can be installed in the global assembly cache. Por lo tanto, los ensamblados de referencia también tienen que instalarse en la caché global de ensamblados.Consequently, referenced assemblies would also go into the global assembly cache. Tan solo los ensamblados con nombres seguros pueden ir en la caché global de ensamblados.Only assemblies with strong names can go into the global assembly cache.
al1056al1056 El ensamblado al que se hace referencia 'nombre_archivo' es un ensamblado satélite adaptadoReferenced assembly 'filename' is a localized satellite assembly

Al crear el ensamblado actual se hizo referencia a un ensamblado creado con el atributo AssemblyCultureAttribute.An assembly created by using the AssemblyCultureAttribute attribute was referenced in creating the current assembly. El atributo AssemblyCultureAttribute indica que el archivo es un ensamblado satélite adaptado y no es correcto hacer referencia a un ensamblado satélite.The AssemblyCultureAttribute attribute indicates the file is a localized satellite assembly and it is not appropriate to reference a satellite assembly. Probablemente deba hacer referencia al ensamblado primario en su lugar.You should probably reference the main parent assembly instead.
al1057al1057 Los archivos ejecutables no se pueden adaptar y no deben tener referencia culturalExecutables cannot be localized, Culture should always be empty

Se está creando un ensamblado mediante /target:exe, pero se especificó /culture.An assembly is being created by using /target:exe but /culture was specified. Los ensamblados en el archivo .exe no pueden tener información en el campo de referencia cultural.Assemblies in the .exe cannot have information in the Culture field.
al1058al1058 'archivo' es un ensamblado y no se puede agregar como módulo'file' is an assembly and cannot be added as a module

En una compilación en C++, se pasó a /assemblymodule (opción del enlazador) un archivo que contenía un ensamblado.In a C++ compilation, /assemblymodule (linker option) was passed a file that contained an assembly.
al1059al1059 Error desconocido (código)Unknown error (code)

Al.exe ha recibido un código de error desconocido (code).Al.exe received an unknown error code (code).

Las soluciones posibles son las siguientes:Possible solutions include the following:

Vuelva a instalar Visual Studio.Reinstall Visual Studio.

Vuelva a instalar el Windows SDKWindows SDK.Reinstall the Windows SDKWindows SDK.

Compruebe si faltan archivos.Check for missing files.

Compruebe si hay suficiente espacio en disco.Check for adequate disk space.

Compruebe si hay memoria suficiente.Check for adequate memory.

Detenga otros procesos que puedan tener acceso a los archivos.Stop other processes that might be accessing the files.

Reinicie el equipo.Reboot your computer.
al1060al1060 Error criptográfico al crear valores hash — motivoCryptographic failure while creating hashes — reason

Se produjo un error al crear los hash de archivo para un ensamblado de múltiples archivos.An error occurred while creating the file hashes for a multifile assembly.
al1061al1061 No se puede establecer la opción 'opción' porque 'motivo'Cannot set option 'option' because 'reason'

El valor especificado para esta opción no es válido por el motivo especificado.The value specified for this option is invalid for the specified reason.
al1062al1062 El módulo 'module' se especificó varias veces; solo se incluirá una vez.Module 'module' was specified multiple times; it will only be included once

Esta advertencia se genera cuando el mismo archivo de origen, entrada o módulo se especifica varias veces en la línea de comandos.This warning is generated when the same source, input, or module file is specified multiple times on the command line. Asegúrese de especificar el nombre de archivo una sola vez.Make sure that you specify the file name only once.
al1063al1063 El tipo público 'tipo' está definido en varios lugares de este ensamblado: 'archivo1' y 'archivo2'Public type 'type' is defined in multiple locations in this assembly: 'file1' and 'file2'

Se ha encontrado el mismo tipo en más de un módulo del ensamblado.The same type was found in more than one module in the assembly. Un ensamblado solo puede contener una versión de cada tipo.Only one version of each type may be present in an assembly.
al1064al1064 No se pueden especificar varias opciones /bugreport.Cannot specify multiple /bugreport options.

Solo se permite una opción /bugreport.Only one /bugreport option is allowed.
al1065al1065 El nombre de archivo 'nombre de archivo' es demasiado largo o no válidoFile name 'File Name' is too long or invalid

El nombre de archivo especificado tiene más caracteres de los permitidos.The specified file name is longer than the maximum allowed.
al1066al1066 No se permite el uso del carácter 'carácter' en la línea de comandos ni en los archivos de respuestaCharacter 'character' is not allowed on the command-line or in response files

Se encontró un carácter no válido en la línea de comandos o en un archivo.An invalid character was found, either on the command line or in a file.
al1067al1067 'nombre_archivo' es un archivo binario en vez de un archivo de texto'filename' is a binary file instead of a text file

El archivo está en formato binario en lugar de texto.The file is in binary format instead of text.
al1068al1068 El módulo 'nombre_módulo' ya está definido en este ensamblado.Module 'ModuleName' is already defined in this assembly. Cada módulo y recurso vinculado debe tener un nombre de archivo único.Each linked resource and module must have a unique file name.

El módulo aparece más de una vez en este ensamblado.The module occurs more than once in this assembly.
al1069al1069 No se puede crear un nombre de archivo corto 'nombre_archivo' cuando ya existe un nombre de archivo largo con el mismo nombre de archivo cortoCannot create short file name 'filename' when a long file name with the same short file name already exists

El archivo actual tiene un nombre que es la versión abreviada de un nombre de archivo que ya existe.The current file has a name that is the short version of a file name that already exists. Por ejemplo, si se compila LongFileName.cs y, a continuación, se vuelve a compilar con el nombre LongFi~1.cs, se produciría un error del compilador similar a este.For example, compiling LongFileName.cs and then recompiling with the name LongFi~1.cs will cause a compiler error similar to this. Si se eliminasen los archivos de salida del compilador que tienen nombres largos y se conservasen los archivos del enlazador análogos, podría producirse este error.If the compiler output files that have long names were deleted, but the analogous linker files remained, this error might occur.
al1070al1070 El ensamblado válido no puede tener un módulo de procesador específico 'nombre de módulo'.Agnostic assembly cannot have a processor specific module 'Module Name'

Si va a compilar mediante /platform:agnostic (o si no especifica /platform), se generará un error si trata de agregar un módulo (con /addmodule) que no es válido.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. Esto es como intentar vincular un archivo de obj i386 a un objeto de ia64.This is like trying to link an i386 obj file to an ia64 obj.

El origen principal de módulos no válidos es C++.The main source of non-agnostic modules is C++. Si está usando /addmodule con un módulo de C++, tendrá que modificar los scripts de compilación para especificar la configuración de /platform correspondiente.If you are using /addmodule with a C++ module, you may have to modify your build scripts to specify the appropriate /platform setting.
al1072al1072 Ensamblado y el módulo 'nombre de módulo' no pueden tener como destino procesadores diferentesAssembly and module 'Module Name' cannot target different processors

No se puede vincular un ensamblado y un módulo que tienen como destino distintos procesadores, ya que el resultado debe ejecutarse en un único procesador.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 El ensamblado al que se hace referencia 'ensamblado' tiene como destino un procesador distintoReferenced assembly 'assembly' targets a different processor

No se pueden vincular ensamblados que tienen como destino distintos procesadores, ya que el resultado debe ejecutarse en un único procesador.You cannot link assemblies that are targeted for different processors, because the result has to run on a single processor.
al1074al1074 El nombre de módulo 'nombre de módulo' almacenado en 'nombre de archivo' debe coincidir con su nombre de archivoModule name 'Module Name' stored in 'File Name' must match its file name

Se trata de un requisito del enlazador.This is required of the linker. Para resolver este problema, haga coincidir los dos nombres.To resolve this problem, make the two names match.
al1075al1075 Se solicitó retrasar la firma, pero no se proporcionó ninguna claveDelay signing was requested, but no key was given

Cuando se retrasa la firma de un ensamblado, el compilador no calcula ni almacena la firma, sino que reserva espacio en el archivo para que la firma se pueda agregar más tarde.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.

Por ejemplo, si se usa /delaysign+, los evaluadores podrán colocar el ensamblado en la memoria caché global.For example, using /delaysign+ enables a tester to put the assembly in the global cache. Después de realizar las pruebas, agregue la clave privada al ensamblado mediante la utilidad Assembly Linker para firmar el ensamblado por completo.After testing, you can fully sign the assembly by adding the private key to the assembly by using the Assembly Linker utility.
al1076al1076 El tipo 'tipo' se reenvía a varios ensamblados: 'ensamblado' y 'ensamblado'.Type 'type' is forwarded to multiple assemblies: 'assembly' and 'assembly'.

Un tipo solo se puede reenviar a un ensamblado.A type can only be forwarded to one assembly.
al1077al1077 El tipo público 'tipo' se define en 'ensamblado' y se reenvía a 'ensamblado'.Public type 'type' is defined in 'assembly' and forwarded to 'assembly'.

Hay un tipo público duplicado en el ensamblado que se está generando.There is a duplicate public type in the assembly being generated. Uno es una definición de tipo válida y el otro es un reenviador de tipos.One is a valid type definition and the other is a type forwarder.

EjemploExample

El comando siguiente crea un archivo ejecutable t2a.exe con un ensamblado a partir del módulo t2.netmodule.The following command creates an executable file t2a.exe with an assembly from the t2.netmodule module. El punto de entrada es el método Main de MyClass.The entry point is the Main method in MyClass.

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

Vea tambiénSee also