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. Un módulo es un archivo de lenguaje intermedio (IL) que no tiene un manifiesto del ensamblado.
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. Para obtener más información, consulte -win32manifest (opciones del compilador de C#).
Esta herramienta se instala automáticamente con Visual Studio. Para ejecutar la herramienta, use el Símbolo del sistema para desarrolladores de Visual Studio o PowerShell de Visual Studio para desarrolladores.
En el símbolo del sistema, escriba lo siguiente:
Sintaxis
al sources options
Parámetros
Puede especificar uno o varios de los siguientes orígenes (sources
).
Origen | Descripción |
---|---|
file [,target ] |
Copia el contenido de file (un módulo) en el nombre de archivo especificado en target . Después de la copia, Al.exe compila target en un ensamblado. |
/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).El parámetro name es un identificador interno del recurso. De forma predeterminada, los recursos son públicos en el ensamblado (visibles para otros ensamblados). Si se especifica private , el recurso no es visible para otros ensamblados.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. Para obtener más información, vea ResourceManager. Para todos los demás recursos, use los métodos GetManifestResource* de Assembly para obtener acceso al recurso en tiempo de ejecución.Si solo se pasan archivos de recursos a Al.exe, el archivo de salida es un ensamblado de recursos satélite. |
/link[resource]: file [,name [,target [,private ]]] |
Vincula un archivo de recursos a un ensamblado. El recurso especificado en file pasa a formar parte del ensamblado; el archivo no se copia. El parámetro file puede estar en cualquier formato de archivo. Por ejemplo, puede especificar un archivo DLL nativo como parámetro file . 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. También puede hacerlo mediante la opción del compilador /linkresource. Para obtener más información, vea -linkresource (opciones del compilador de C#).El parámetro name es un identificador interno del recurso. El parámetro target especifica una ruta de acceso y un nombre de archivo en los que Al.exe copia file . Después de copiar, Al.exe compila target en un ensamblado. De forma predeterminada, los recursos son públicos en el ensamblado (visibles para otros ensamblados). Si se especifica private , el recurso no es visible para otros ensamblados.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. Para obtener más información, vea 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.Si solo se pasan archivos de recursos a Al.exe, el archivo de salida es un ensamblado de recursos satélite. |
Se pueden especificar las siguientes options
; debe especificar /out.
Opción | Descripción |
---|---|
/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. El algoritmo predeterminado es CALG_SHA1. Para obtener información sobre otros algoritmos, vea ALG_ID en la documentación de Platform SDK. En la primera versión de .NET Framework, solo son válidos los algoritmos CALG_SHA1 y CALG_MD5. Los valores hash se almacenan en la tabla de archivos del manifiesto del ensamblado. Durante la instalación y la carga, se cotejan los valores hash de los archivos del ensamblado. También puede especificar esta opción como un atributo personalizado (AssemblyAlgorithmIdAttribute) en el código fuente de cualquier módulo. |
/base[address]: addr |
Especifica la dirección donde se cargará un archivo DLL en el equipo del usuario en tiempo de ejecución. 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. |
/bugreport: filename |
Crea un archivo (filename ) que contiene información de errores. |
/comp[any]: text |
Especifica una cadena para el campo Company del ensamblado. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.Si no especifica /win32res, en el Explorador de archivos aparecerá text como la propiedad Company del archivo. 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.Si el texto es una cadena vacía (""), el recurso Company de Win32 aparece como un único espacio.Si especifica /win32res, /company no tendrá ningún efecto en la información de recursos de Win32. También puede especificar esta opción como un atributo personalizado (AssemblyCompanyAttribute) en el código fuente de cualquier módulo CIL. |
/config[uration]: text |
Especifica una cadena para el campo Configuration del ensamblado. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.Si el texto es una cadena vacía, el recurso Configuration de Win32 aparece como un único espacio. También puede especificar esta opción como un atributo personalizado (AssemblyConfigurationAttribute) en el código fuente de cualquier módulo CIL. |
/copy[right]: text |
Especifica una cadena para el campo Copyright del ensamblado. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.Si no especifica /win32res, en el Explorador de archivos aparece /copyright como el recurso Copyright de Win32. Si el texto es una cadena vacía, el recurso Copyright de Win32 aparece como un único espacio. Si especifica /win32res, /copyright no tendrá ningún efecto en la información de recursos de Win32. También puede especificar esta opción como un atributo personalizado (AssemblyCopyrightAttribute) en el código fuente de cualquier módulo CIL. |
/c[ulture]: text |
Especifica la cadena de referencia cultural que se va a asociar al ensamblado. 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". Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). No existe ninguna cadena de referencia cultural predeterminada. Esta cadena se puede ver con el mecanismo de reflexión.Para obtener información sobre las cadenas text válidas, vea el objeto CultureInfo.También puede especificar esta opción como un atributo personalizado (AssemblyCultureAttribute) en el código fuente de cualquier módulo CIL. |
/delay[sign][+ or -] |
Especifica si el ensamblado estará firmado total o parcialmente. Use /delaysign- para firmar completamente un ensamblado. Use /delaysign+ si quiere incluir solo la clave pública en el ensamblado. 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. La firma digital resultante se almacena en el archivo que contiene el manifiesto. 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. El valor predeterminado es /delaysign- . La opción /delaysign no tiene ningún efecto a menos que se use con /keyfile o /keyname. Por ejemplo, si se usa /delaysign+ , los evaluadores podrán colocar el ensamblado en la memoria caché global. Una vez realizadas las pruebas, puede firmar completamente el ensamblado incluyendo en él la clave privada. 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. Por ejemplo: Sn.exe –Vr delaySignedAssembly . Solo debe usarse durante el desarrollo.También puede especificar esta opción como un atributo personalizado (AssemblyDelaySignAttribute) en el código fuente de cualquier módulo CIL. |
/descr[iption]: text |
Especifica una cadena para el campo Description del ensamblado. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.Si no especifica /win32res, en el Explorador de archivos aparecerá /description como el recurso Comments de Win32. Si el texto es una cadena vacía, el recurso Comments de Win32 aparece como un único espacio. Si especifica /win32res, /description no tendrá ningún efecto en la información de recursos de Win32. También puede especificar esta opción como un atributo personalizado (Description) en el código fuente de cualquier módulo CIL. |
/e[vidence]: file |
Incrusta file en el ensamblado con el nombre de recurso Security.Evidence.No se puede usar Security.Evidence para los recursos habituales. |
/fileversion: version |
Especifica una cadena para el campo Versión del archivo del ensamblado. Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión. Si no especifica /win32res, /fileversion se usará como el recurso File Version de Win32. Si no especifica /fileversion, el recurso File Version de Win32 se rellenará con el recurso Assembly Version de Win32. Si se especifica /win32res, /fileversion no tendrá ningún efecto en el recurso de Win32. También puede especificar esta opción como un atributo personalizado (AssemblyFileVersionAttribute) en el código fuente de cualquier módulo CIL. |
/flags: flags |
Especifica un valor para el campo Flags del ensamblado. Los valores posibles de flags son los siguientes:0x0000 El ensamblado es compatible con aplicaciones en paralelo. 0x0010 El ensamblado no puede ejecutarse con otras versiones si se ejecutan en el mismo dominio de aplicación. 0x0020 El ensamblado no puede ejecutarse con otras versiones si se ejecutan en el mismo proceso. 0x0030 El ensamblado no puede ejecutarse con otras versiones si estas se ejecutan en el mismo equipo. También puede especificar esta opción como un atributo personalizado (AssemblyFlagsAttribute) en el código fuente de cualquier módulo CIL. |
/fullpaths | Hace que Al.exe use la ruta de acceso absoluta de los archivos mencionados en un mensaje de error. |
/help | Muestra las opciones y la sintaxis de los comandos para la herramienta. |
/keyf[ile]: filename |
Especifica un archivo (filename ) que contiene un par de claves o simplemente una clave pública para firmar un ensamblado. El compilador inserta la clave pública en el manifiesto del ensamblado y firma después el ensamblado final con la clave privada. 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).Si está usando la opción de firma retrasada, este archivo tendrá normalmente la clave pública, pero no la clave privada. La información sobre la clave pública (del par de claves) aparece en el campo .publickey del ensamblado. También puede especificar esta opción como un atributo personalizado (AssemblyKeyFileAttribute) en el código fuente de cualquier módulo CIL. 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. Si esta operación se realiza correctamente, el ensamblado se firma con la información del contenedor de claves. Si Al.exe no encuentra el contenedor de claves, probará el archivo especificado con /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. |
/keyn[ame]: text |
Especifica un contenedor que contiene un par de claves. 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. Al.exe firmará después el ensamblado final con la clave privada. Use Sn.exe para generar un par de claves. La información de clave aparece en el campo .publickey del ensamblado. Coloque text entre comillas dobles (" ") si hay un espacio incrustado.También puede especificar esta opción como un atributo personalizado (AssemblyKeyNameAttribute) en el código fuente de cualquier módulo CIL. |
/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. |
/nologo | Suprime la pancarta, o el logotipo, que se muestra en la línea de comandos cuando se invoca Al.exe. |
/out: filename |
Especifica el nombre del archivo generado por Al.exe. Esta es una opción necesaria. |
/platform: text |
Limita en qué plataformas se puede ejecutar este código; debe ser x86, Itanium, x64, anycpu (valor predeterminado) o anycpu32bitpreferred. |
/prod[uct]: text |
Especifica una cadena para el campo Producto del ensamblado. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.Si no especifica /win32res, en el Explorador de archivos aparecerá /product como el recurso Nombre del producto de Win32. Si el texto es una cadena vacía, el recurso Nombre del producto de Win32 aparece como un único espacio. Si especifica /win32res, /product no tendrá ningún efecto en la información de recursos de Win32. También puede especificar esta opción como un atributo personalizado (AssemblyProductAttribute) en el código fuente de cualquier módulo CIL. |
/productv[ersion]: text |
Especifica una cadena para el campo Versión del producto del ensamblado. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.Si no especifica /win32res, en el Explorador de archivos aparecerá /productversion como el recurso Versión del producto de Win32. Si no especifica /productversion, el recurso Versión del producto de Win32 se rellenará con el recurso Versión del archivo de Win32. Si especifica /win32res, /productversion no tendrá ningún efecto en la información de recursos de Win32. También puede especificar esta opción como un atributo personalizado (AssemblyInformationalVersionAttribute) en el código fuente de cualquier módulo CIL. |
/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). De manera predeterminada, es lib[rary] . |
/template: filename |
Especifica el ensamblado, filename , del que se heredarán todos los metadatos del ensamblado, salvo el campo correspondiente a la referencia cultural.Los ensamblados creados con /template serán ensamblados satélite. |
/title: text |
Especifica una cadena para el campo Título del ensamblado. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.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. También se muestra en el submenú Abrir con del menú contextual de un tipo de archivo para el que existen varias aplicaciones compatibles. Si el texto es una cadena vacía, el recurso Descripción de Win32 aparece como un único espacio. Si especifica /win32res, /title no tendrá ningún efecto en la información de recursos de Win32. También puede especificar esta opción como un atributo personalizado (AssemblyTitleAttribute) en el código fuente de cualquier módulo CIL. |
/trade[mark]: text |
Especifica una cadena para el campo Marca registrada del ensamblado. Si text contiene algún espacio, escriba la cadena entre comillas dobles (" "). Esta cadena es un atributo personalizado del ensamblado y se puede ver con el mecanismo de reflexión.Si no especifica /win32res, en el Explorador de archivos aparecerá /trademark como el recurso Marca registrada de Win32. Si el texto es una cadena vacía, el recurso Marca registrada de Win32 aparece como un único espacio. Si especifica /win32res, /trademark no tendrá ningún efecto en la información de recursos de Win32. También puede especificar esta opción como un atributo personalizado (AssemblyTrademarkAttribute) en el código fuente de cualquier módulo CIL. |
/v[ersion]: version |
Especifica la información de versión de este ensamblado. El formato de la cadena de versión es major .minor .build .revision . El valor predeterminado es 0.Si especifica /version, debe especificar major . Si especifica major y minor , puede especificar un asterisco (*) para 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.Si se especifica major , minor y build , se puede especificar un asterisco para 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.En resumen, las cadenas de versión válidas son la siguientes: X X.X X.X.* X.X.X X.X.X.* X.X.X.X donde X es una constante corta sin signo, exceptuando 65535 (0-65534). Si no especifica /win32res, se usará /version como el recurso Assembly Version de Win32. Si no especifica /win32res, /productversion y /fileversion, se usará /version para los recursos Assembly Version, File Version y Product Version de Win32. Si especifica /win32res, /version no tendrá ningún efecto en la información de recursos de Win32. También puede especificar esta opción como un atributo personalizado (AssemblyVersionAttribute) en el código fuente de cualquier módulo CIL. |
/win32icon: filename |
Inserta un archivo .ico en el ensamblado. El archivo .ico proporciona al archivo de salida la apariencia deseada en el Explorador de archivos. |
/win32res: filename |
Inserta un recurso de Win32 (archivo .res) en el archivo de salida. Se puede crear un archivo de recursos de Win32 con el compilador de recursos. 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. |
@filename |
Especifica un archivo de respuesta que contiene comandos de Al.exe. Los comandos del archivo de respuesta pueden aparecer uno por línea o en la misma línea, separados por uno o varios espacios. |
/? | Muestra las opciones y la sintaxis de los comandos para la herramienta. |
Comentarios
Todos los compiladores de Visual Studio generan ensamblados. 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.
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).
Errores y advertencias
En la tabla siguiente se enumeran los errores generados por Al.exe.
Error | Descripción |
---|---|
al1001 | Error interno del compilador Intente determinar si Al.exe está fallando porque no puede analizar una sintaxis inesperada. A continuación, póngase en contacto con los servicios de soporte técnico de Microsoft. |
al1002 | Memoria agotada Al.exe se ha quedado sin memoria y se ha detenido. Aumente la cantidad de memoria disponible. |
al1003 | La opción 'option' del compilador debe ir seguida de un argumento Al.exe esperaba que un argumento se pasase a una opción de línea de comandos. Por ejemplo, si especifica /algid: , debe pasar un identificador de algoritmos. |
al1004 | Error de inicialización inesperado de Common Language Runtime — 'motivo' Al.exe ha notificado un error con la instalación de Visual Studio o Common Language Runtime por el motivo especificado. |
al1005 | El archivo 'archivo' es demasiado grande para abrirlo Todos los archivos abiertos por Al.exe deben ser inferiores a 4 gigabytes (GB). |
al1006 | El archivo de respuesta 'archivo' ya estaba incluido Se especificó el mismo archivo de respuesta ( @file ) más de una vez en la línea de comandos. El archivo de respuesta solo puede incluirse una vez. |
al1007 | Error al abrir el archivo de respuesta 'archivo' — 'motivo' Al.exe no puede abrir el archivo de respuesta especificado por el motivo especificado. |
al1008 | Falta la especificación de archivo para la opción de línea de comandos 'opción' Al.exe esperaba que un archivo se pasase a una opción de línea de comandos. Por ejemplo, si especifica la opción /out, debe especificar un archivo. |
al1009 | No se puede abrir 'archivo' para escritura Al.exe no pudo escribir en un archivo, por ejemplo, el archivo de ensamblado de salida. Puede que el disco esté lleno, que el archivo sea de solo lectura o que no tenga permisos para el archivo. |
al1010 | Error de sintaxis de línea de comandos: Falta ":text" para la opción "option" Al.exe esperaba que un argumento se pasase a una opción de línea de comandos. Por ejemplo, si especifica la opción /title, debe pasar una cadena. |
al1011 | El archivo 'archivo' es un archivo ejecutable y no se puede abrir como archivo de texto Se especificó un archivo binario cuando se esperaba un archivo de texto. Por ejemplo, este error se produce si se pasa un archivo binario en la línea de comandos como un archivo de respuesta. |
al1012 | 'valor' no es un valor válido para la opción 'opción' Se pasó un valor inesperado a una opción de línea de comandos. Por ejemplo, este error se produce si se especifica un valor no válido en la opción /target. |
al1013 | Opción de línea de comandos no reconocida: 'opción' Se especificó una opción de línea de comandos no válida. |
al1014 | Error de inicialización inesperado — 'motivo' Al.exe ha detectado un error de inicialización de COM. Esto podría deberse a una falta de memoria, pero la causa más probable son los archivos DLL del sistema. Aparecerá un error similar si ejecuta cualquier programa compatible con Automatización o con COM, como Microsoft Visual Studio. Vuelva a instalar el sistema operativo. |
al1015 | No se puede encontrar el archivo de mensajes 'alinkui.dll' Al.exe requiere el archivo Alinkui.dll. Asegúrese de que este archivo está en la ruta de acceso. Si es necesario, cópielo desde el CD del producto. |
al1016 | No se especificaron archivos de entrada válidos. Al.exe necesita uno o más archivos de entrada que no tienen información de ensamblado. |
al1017 | No se especificó ningún nombre de archivo de destino Faltaba la opción obligatoria /out que especifica el nombre de archivo de destino. |
al1018 | No se pudo cargar el archivo requerido 'archivo' No se pueden cargar determinados archivos DLL. Vuelva a instalar Visual Studio o Windows SDK. |
al1019 | Error de metadatos al crear el ensamblado: motivo Se interrumpió la generación del ensamblado por el motivo especificado. Por ejemplo, este error se produce si no se encuentra ningún archivo especificado con la opción /win32res. |
al1020 | Se ignoró el ensamblado 'archivo' incluido Se especificó un archivo de entrada que contenía un ensamblado. Los archivos de entrada de Al.exe no pueden contener ensamblados. |
al1021 | 'valor': se reemplazó el valor anterior 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. |
al1022 | Error al leer el "archivo" de recursos incrustado: motivo Al.exe no puede leer el archivo pasado a la opción /embedresource por el motivo especificado. |
al1023 | Error al incrustar el "archivo" de recursos: motivo El sistema operativo no puede incrustar el archivo de recursos en el ensamblado por el motivo especificado. |
al1025 | El registro ComType 'registro' apunta a un registro de archivo no válido 'registro' Los metadatos del módulo de entrada no son válidos. La herramienta que ha generado el módulo debe corregirse. |
al1026 | La versión 'versión' especificada no es válida Consulte la información sobre la opción /version para ver los formatos válidos. |
al1028 | Al archivo de clave 'archivo' le falta la clave privada necesaria para firmar Un archivo de clave que contiene solo la clave pública se pasó a la opción /keyfile. 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. sn -k keypair.snk. |
al1029 | El nombre del contenedor de claves 'contenedor' no existe El valor pasado a la opción /keyname no es un contenedor válido. Use la herramienta de nombre seguro (Sn.exe) para crear un contenedor. |
al1030 | El servicio criptográfico no está instalado correctamente o no tiene un proveedor de claves adecuado Tendrá que reinstalar el sistema operativo o instalar una utilidad criptográfica que se use para crear la clave. |
al1031 | Error al leer el "archivo" de icono: motivo Al.exe no puede leer el archivo que se ha pasado a la opción /win32icon por el motivo especificado. |
al1032 | Error al generar recursos para "archivo": motivo Al.exe no puede crear un archivo debido a que el espacio en disco es insuficiente o a algún otro 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). 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). |
al1033 | El atributo personalizado de ensamblado 'atributo' se especificó varias veces con distintos valores 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. |
al1034 | El ensamblado 'archivo' no se puede copiar ni cambiar de nombre 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. Por ejemplo, este error se produce si se especifica input.dll,somename.dll /out:somename.dll . |
al1035 | Las bibliotecas no pueden tener un punto de entrada No se pueden especificar a la vez las opciones /target:lib (opción predeterminada) y /main. |
al1036 | Punto de entrada necesario para las aplicaciones ejecutables Cuando usa la opción /target:exe o /target:win, también debe especificar la opción /main. |
al1037 | No se puede encontrar el método de punto de entrada 'main' Al.exe no puede encontrar un método Main en la ubicación especificada por la opción /main. |
al1039 | Error al inicializar el administrador de caché de ensamblados global: motivo Vuelva a instalar Visual Studio o Windows SDK. |
al1040 | No se pudo instalar el ensamblado en caché: motivo Solo los ensamblados firmados se pueden instalar en la caché. Para obtener más información, vea Global Assembly Cache (Caché global de ensamblados). |
al1041 | 'método': no puede ser el punto de entrada porque la firma o la visibilidad es incorrecta o es genérica Se especificó un método con la opción /main void , pero ese método no es estático, no devuelve ni int , es genérico o tiene argumentos no válidos. |
al1042 | "exe": No se puede agregar módulos a los archivos EXE Se ha especificado un archivo .exe que no tiene un ensamblado como un archivo de entrada para Al.exe. Al.exe solo puede tomar archivos dll sin ensamblados como archivos de entrada. |
al1043 | El nombre de archivo de manifiesto 'nombre' no puede ser el mismo que el de los módulos 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. |
al1044 | Error al leer el archivo de clave "archivo": motivo Se produjo un error al abrir o leer un archivo especificado con /keyfile o AssemblyKeyFileAttribute. |
al1045 | El nombre de archivo 'archivo' es demasiado largo o no válido Se ha pasado un nombre de archivo a Al.exe que supera los 260 caracteres. Elija un nombre de archivo con menos caracteres o una ruta más corta, o cámbiele el nombre. |
al1046 | El identificador de recurso 'ID' ya se usó en este ensamblado Dos recursos, incrustados o vinculados, tienen el mismo identificador o nombre (el segundo argumento). Quite o cambie el nombre de uno de los recursos en conflicto. |
al1047 | Error al importar el archivo "archivo": motivo No se puede abrir un archivo de módulo por el motivo especificado. |
al1048 | Error al importar el módulo "módulo" del ensamblado "ensamblado": motivo Se produjo un error al abrir un archivo nonmanifest de un ensamblado de múltiples archivos. Este error no lo emite directamente Al.exe, pero se puede pasar mediante programación a un proceso que use Al.exe. |
al1049 | 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 2000 El reloj del sistema en el equipo está configurado en una fecha anterior al 1 de enero de 2000. |
al1050 | La característica 'característica antigua' que está usando ya no se admite; use 'característica nueva' en su lugar. Una característica que Al.exe admitía anteriormente está obsoleta. En su lugar, use la característica recomendada. |
al1051 | Error al emitir el atributo "atributo": motivo Al.exe no ha procesado un atributo personalizado de ensamblado por el motivo especificado. |
al1052 | El archivo 'archivo' no es un ensamblado El archivo especificado con /template debe contener metadatos del ensamblado. Este error indica que el archivo especificado por /template no contenía un ensamblado. |
al1053 | La versión 'versión' especificada para 'opción' no tiene el formato normal 'principal.secundaria.compilación.revisión' Al.exe ha detectado información de versión con un formato incorrecto especificado con las opciones /fileversion o /productversion. |
al1054 | La versión 'versión' especificada para 'opción' no tiene el formato normal 'principal.secundaria.compilación.revisión' Al.exe ha detectado información de versión con un formato incorrecto especificado con SatelliteContractVersionAttribute. |
al1055 | El ensamblaje 'nombre_archivo' al que se hace referencia no tiene un nombre seguro 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. 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). 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. 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". 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. Si un ensamblado tiene un nombre seguro, puede instalarse en la caché global de ensamblados. Por lo tanto, los ensamblados de referencia también tienen que instalarse en la caché global de ensamblados. Tan solo los ensamblados con nombres seguros pueden ir en la caché global de ensamblados. |
al1056 | El ensamblado al que se hace referencia 'nombre_archivo' es un ensamblado satélite adaptado Al crear el ensamblado actual se hizo referencia a un ensamblado creado con el atributo AssemblyCultureAttribute. El atributo AssemblyCultureAttribute indica que el archivo es un ensamblado satélite adaptado y no es correcto hacer referencia a un ensamblado satélite. En su lugar, haga referencia al ensamblado primario principal. |
al1057 | Los archivos ejecutables no se pueden adaptar y no deben tener referencia cultural Se está creando un ensamblado mediante /target:exe, pero se especificó /culture. Los ensamblados en el archivo .exe no pueden tener información en el campo de referencia cultural. |
al1058 | 'archivo' es un ensamblado y no se puede agregar como módulo En una compilación en C++, se pasó a /assemblymodule (opción del enlazador) un archivo que contenía un ensamblado. |
al1059 | Error desconocido (código) Al.exe ha recibido un código de error desconocido ( code ).Las soluciones posibles son las siguientes: Vuelva a instalar Visual Studio. Reinstale Windows SDK. Compruebe si faltan archivos. Compruebe si hay suficiente espacio en disco. Compruebe si hay memoria suficiente. Detenga otros procesos que puedan tener acceso a los archivos. Reinicie el equipo. |
al1060 | Error criptográfico al crear valores hash: motivo Se produjo un error al crear los hash de archivo para un ensamblado de múltiples archivos. |
al1061 | No se puede establecer la opción 'opción' porque 'motivo' El valor especificado para esta opción no es válido por el motivo especificado. |
al1062 | El módulo 'module' se especificó varias veces; solo se incluirá una vez. Esta advertencia se genera cuando el mismo archivo de origen, entrada o módulo se especifica varias veces en la línea de comandos. Asegúrese de especificar el nombre de archivo una sola vez. |
al1063 | El tipo público 'tipo' está definido en varios lugares de este ensamblado: 'archivo1' y 'archivo2' Se ha encontrado el mismo tipo en más de un módulo del ensamblado. Un ensamblado solo puede contener una versión de cada tipo. |
al1064 | No se pueden especificar varias opciones /bugreport. Solo se permite una opción /bugreport. |
al1065 | El nombre de archivo 'nombre de archivo' es demasiado largo o no válido El nombre de archivo especificado tiene más caracteres de los permitidos. |
al1066 | No se permite el uso del carácter "carácter" en la línea de comandos ni en los archivos de respuesta Se encontró un carácter no válido en la línea de comandos o en un archivo. |
al1067 | 'nombre_archivo' es un archivo binario en vez de un archivo de texto El archivo está en formato binario en lugar de texto. |
al1068 | El módulo 'nombre_módulo' ya está definido en este ensamblado. Cada módulo y recurso vinculado debe tener un nombre de archivo único. El módulo aparece más de una vez en este ensamblado. |
al1069 | 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 corto El archivo actual tiene un nombre que es la versión abreviada de un nombre de archivo que ya existe. 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. 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. |
al1070 | El ensamblado independiente no puede tener un módulo de procesador específico "nombre de módulo". 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 independiente. Esto es como intentar vincular un archivo de obj i386 a un objeto de ia64. El origen principal de módulos no válidos es 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. |
al1072 | Ensamblado y el módulo 'nombre de módulo' no pueden tener como destino procesadores diferentes 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. |
al1073 | El ensamblado al que se hace referencia 'ensamblado' tiene como destino un procesador distinto No se pueden vincular ensamblados que tienen como destino distintos procesadores, ya que el resultado debe ejecutarse en un único procesador. |
al1074 | El nombre de módulo 'nombre de módulo' almacenado en 'nombre de archivo' debe coincidir con su nombre de archivo Se trata de un requisito del enlazador. Para resolver este problema, haga coincidir los dos nombres. |
al1075 | Se solicitó retrasar la firma, pero no se proporcionó ninguna clave 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. Por ejemplo, si se usa /delaysign+ , los evaluadores podrán colocar el ensamblado en la memoria caché global. Después de realizar las pruebas, agregue la clave privada al ensamblado mediante la utilidad Assembly Linker para firmar el ensamblado por completo. |
al1076 | El tipo 'tipo' se reenvía a varios ensamblados: 'ensamblado' y 'ensamblado'. Un tipo solo se puede reenviar a un ensamblado. |
al1077 | El tipo público 'tipo' se define en 'ensamblado' y se reenvía a 'ensamblado'. Hay un tipo público duplicado en el ensamblado que se está generando. Uno es una definición de tipo válida y el otro es un reenviador de tipos. |
Ejemplo
El comando siguiente crea un archivo ejecutable t2a.exe con un ensamblado a partir del módulo t2.netmodule
. El punto de entrada es el método Main
de MyClass
.
al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main