Atributos globales de Visual Basic
Actualización: noviembre 2007
La mayoría de atributos se anexan a elementos específicos del lenguaje, como las clases o los métodos. Sin embargo, algunos atributos son globales, es decir, se pueden aplicar a un ensamblado o un módulo completos.
Puede establecer muchos de los atributos del entorno de desarrollo integrado (IDE) de Visual Studio mediante el Información de ensamblado (Cuadro de diálogo). Para obtener más información, vea Administrar las propiedades de la aplicación y Administrar la firma de ensamblados y manifiestos.
Atributos de ensamblado
Para especificar atributos de nivel de ensamblado debe utilizar la siguiente sintaxis:
<Assembly: Attribute1, Assembly: Attribute2..., Assembly: AttributeN>
Para especificar atributos de nivel de módulo debe utilizar una sintaxis similar:
<Module: Attribute1, Module: Attribute2..., Module: AttributeN>
Puede agregar los atributos globales en el código fuente a continuación de las directivas de nivel superior, como las instrucciones Option Explicit e Imports, pero delante de cualquier declaración de tipo o de espacio de nombres. Los atributos globales pueden aparecer en varios archivos de código fuente de un proyecto, pero se suelen colocar en el archivo AssemblyInfo.vb creado automáticamente en los proyectos de Visual Basic.
Los atributos de ensamblado son valores que proporcionan información sobre un ensamblado. Se incluyen en las siguientes categorías:
Atributos de identidad de ensamblado
Atributos de información
Atributos del manifiesto de ensamblado
Atributos del nombre seguro
Atributos de identidad del ensamblado
Tres atributos (con un nombre seguro, si es aplicable) determinan la identidad de un ensamblado: nombre, versión y referencia cultural. Estos atributos forman el nombre completo del ensamblado y son necesarios para hacer referencia al ensamblado en el código. Puede establecerse una referencia cultural y una versión de ensamblado utilizando atributos. Sin embargo, el valor del nombre lo establece el compilador, el IDE de Visual Studio en el Información de ensamblado (Cuadro de diálogo) o la herramienta Assembly Linker (Al.exe) cuando se crea el ensamblado, tomando como base el archivo que contiene el manifiesto del ensamblado. El atributo AssemblyFlagsAttribute especifica si pueden coexistir varias copias del ensamblado.
La tabla siguiente muestra los atributos de identidad:
Atributo |
Finalidad |
---|---|
Describe completamente la identidad del ensamblado. |
|
Especifica la versión del ensamblado. |
|
Especifica la referencia cultural admitida por el ensamblado. |
|
Especifica si un ensamblado admite ejecución conjunta en el mismo equipo, en el mismo proceso o en el mismo dominio de aplicación. |
El código siguiente aplica los atributos de versión y referencia cultural a un ensamblado:
'Set version number for assembly.
<Assembly: Reflection.AssemblyVersionAttribute("4.3.2.1")>
'Set culture as German.
<Assembly: Reflection.AssemblyCultureAttribute("de")>
Atributos informativos
Los atributos informativos se pueden usar para proporcionar información adicional del producto o de la compañía sobre un ensamblado. La tabla siguiente muestra los atributos de información definidos en el espacio de nombres System.Reflection.
Atributo |
Finalidad |
---|---|
Define un atributo personalizado que especifica un nombre de producto para un manifiesto de ensamblado. |
|
Define un atributo personalizado que especifica una marca comercial para un manifiesto de ensamblado. |
|
Define un atributo personalizado que especifica una versión informativa para un manifiesto de ensamblado. |
|
Define un atributo personalizado que especifica un nombre de compañía para un manifiesto de ensamblado. |
|
Define un atributo personalizado que especifica un copyright para un manifiesto de ensamblado. |
|
Indica al compilador que debe utilizar un número de versión específico para el recurso de versión de archivo Win32. |
|
Indica si el ensamblado cumple los requisitos de Common Language Specification (CLS). |
Atributos de manifiesto del ensamblado
Puede usar los atributos del manifiesto del ensamblado para proporcionar información en el manifiesto del ensamblado. Esto incluye título, descripción, alias predeterminado y configuración. La tabla siguiente muestra los atributos del manifiesto de ensamblado definidos en el espacio de nombres System.Reflection.
Atributo |
Finalidad |
---|---|
Define un atributo personalizado que especifica un título de ensamblado para un manifiesto de ensamblado. |
|
Define un atributo personalizado que especifica una descripción de ensamblado para un manifiesto de ensamblado. |
|
Define un atributo personalizado que especifica una configuración de ensamblado (como versión comercial o de depuración) para un manifiesto de ensamblado. |
|
Define un alias predeterminado descriptivo para un manifiesto de ensamblado |
Atributos del nombre seguro
Los nombres seguros son identificadores únicos que protegen la identidad y la integridad de un ensamblado. Puede firmar un ensamblado desde el IDE de Visual Studio a través de la Página Firma, Diseñador de proyectos. Para obtener más información, vea Administrar la firma de ensamblados y manifiestos.
También tiene la posibilidad de utilizar atributos de nombre seguro para establecer nombres seguros para ensamblados. La tabla siguiente muestra los atributos de nombre seguro definidos en el espacio de nombres System.Reflection.
Atributo |
Finalidad |
---|---|
Valor booleano que indica si se desea reservar espacio en el archivo ejecutable para la firma de nombre seguro y aplazar la firma real a una fase posterior. Para obtener más información, consulte Retrasar la firma de un ensamblado. |
|
Indica el archivo que contiene una clave. La ubicación del archivo de clave (KeyFile) debe ser relativa al directorio de resultados del proyecto, que es %Directorio del proyecto%\obj\<configuración>. Por ejemplo, si el archivo de clave se encuentra en el directorio del proyecto, debe especificar el atributo AssemblyKeyFile de la manera siguiente: [ensamblado: AssemblyKeyFile (".. \\.. \\mykey.snk")] |
|
Hace referencia a una clave instalada en el Proveedor de servicios de criptografía (CSP, Crypto Service Provider) en su equipo. Debe especificar una clave para poder firmar el archivo. |
Si se han especificado los valores de KeyFile y KeyName, se realiza el siguiente procesamiento:
Si se puede encontrar el valor de KeyName en el CSP, se usa esa clave.
Si el valor de KeyName no existe y el archivo de clave existe, se instala en el CSP la clave de KeyFile y se utiliza.
Para obtener más información, consulte Consideraciones de seguridad sobre ensamblados.
Firmar ensamblados
Un ensamblado se puede firmar de dos formas diferentes pero complementarias: con un nombre seguro o con firma. Puede firmar mediante la Página Firma, Diseñador de proyectos del IDE de Visual Studio o mediante la Herramienta Firma de archivos (Signcode.exe). Al firmar un ensamblado con un nombre seguro, se agrega un cifrado mediante clave pública al archivo que contiene el manifiesto del ensamblado. La firma mediante nombres seguros ayuda a comprobar la exclusividad del nombre, impide la simulación de nombres y proporciona identidad a los llamadores cuando se resuelve una referencia. Para obtener más información, vea Administrar la firma de ensamblados y manifiestos y Cómo: Firmar un ensamblado con un nombre seguro.
Para firmar un ensamblado con un nombre seguro
Utilice la Herramienta de nombre seguro (Sn.exe) para generar un archivo de claves que contiene un par de claves.
Agregue atributos de nombre seguro al archivo AssemblyInfo.vb creado automáticamente en los proyectos de Visual Basic. Para editar este archivo, haga doble clic en el nombre del archivo en el Explorador de soluciones.
En el ejemplo siguiente se usa la firma de retardo para crear un ensamblado con nombre seguro mediante un archivo de clave pública denominado myKey.snk.
<Assembly: Reflection.AssemblyKeyFile("myKey.snk")> <Assembly: Reflection.AssemblyDelaySign(True)>
Nota: Los atributos de ensamblado se omiten si no está creando un ensamblado, por ejemplo cuando compila desde la línea de comandos mediante la opción /target:module.
Vea también
Tareas
Cómo: Definir atributos propios
Cómo: Firmar un ensamblado con un nombre seguro
Conceptos
Consideraciones de seguridad sobre ensamblados
Referencia
Herramienta de nombre seguro (Sn.exe)
Herramienta Firma de archivos (Signcode.exe)
Página Firma, Diseñador de proyectos
Información de ensamblado (Cuadro de diálogo)
Otros recursos
Atributos personalizados en Visual Basic