¿Para qué se utiliza AssemblyInfo.cs?


113

Mi pregunta es bastante básica. Lo que me gustaría saber es para qué se usa el archivo AssemblyInfo.cs.


Pero recuerde que este número de versión se usa junto con el nombre, el token de clave pública y la información cultural solo si los ensamblados están firmados con nombre seguro. Si los ensamblados no están firmados con nombre seguro, solo se usan los nombres de archivo para cargar.
— Karl SoCal

Respuestas:


83

AssemblyInfo.cs contiene información sobre su ensamblado, como nombre, descripción, versión, etc. Puede encontrar más detalles sobre su contenido leyendo los comentarios que se incluyen en él.

Si lo elimina, su ensamblado se compilará sin información, es decir, en la pestaña Detalles de las propiedades del archivo no verá ningún nombre, ni descripción, versión 0.0.0.0, etc.

El valor asociado con el ensamblado: Guid es el ID que identificará el ensamblaje si se expondrá como un objeto COM. Entonces, si su ensamblaje no está expuesto a COM, no lo necesita. Se genera aleatoriamente. En cualquier caso, normalmente no es necesario modificarlo.

Los créditos van a: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/8955449f-71ac-448e-9ee6-5329fceecd3c


1
Entonces, si nunca cambio el número de versión en mi archivo AssemblyInfo, no importa cuántas implementaciones realice, ¿siempre se mostrará como 1.0.0.0?
— Sachin Kainth

3
¿Qué sucede si quiero automatizar la actualización de la versión en cada lanzamiento? es posible?
— Sachin Kainth

Después de construir con éxito la configuración del proyecto, puede llamar a algún .exe para actualizar este número (por lo que será el número de versión para la próxima versión, no el que acaba de crear). Eche un vistazo a: codeproject.com/Articles/31236/…
— Francois

¿Estás seguro de que no es necesario modificarlo? ¿Cómo controlas tus implementaciones sin usar el número de versión?
— Uğur Aldanmaz

15

En el archivo AssemblyInfo, los atributos informativos contienen la información sobre el nombre del producto, la descripción, la marca comercial y los derechos de autor. En general, esta información es codificada o almacenada en una base de datos o archivo plano. El ensamblado .NET permite almacenar esta información en el archivo AssemblyInfo y, después de la compilación, se convierte en parte del ensamblaje. Entonces, en tiempo de ejecución, uno puede leer esta información.

Parte de la información de montaje

1 AssemblyTitle: nombre del título del ensamblado.

2 AssemblyDescription: Proporciona la descripción detallada del ensamblaje.

3 AssemblyCompany: Brinda la información de la empresa del ensamblaje.

4 Producto de montaje: proporciona la información de producción del montaje.

5 AssemblyCopyright: proporciona los derechos de autor de la asamblea.

6 Assembly Trademark: Proporciona la marca registrada del ensamblaje.

Cada uno de estos atributos tiene una clase definida, que se utiliza para leer la información del archivo AssemblyInfo.

Consulte este enlace: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx


10

Vaya a las Propiedades del proyecto, la pestaña Aplicación y haga clic en el botón Información del ensamblaje.

Eso es lo que se almacena en AssemblyInfo.cs.

En el Explorador de Windows, haga clic con el botón derecho en la salida .exe de su proyecto, seleccione Propiedades y vaya a la pestaña Detalles. Esa es la información generada por AssemblyInfo.cs.


8

En el archivo AssemblyInfo, puede almacenar información que puede obtener de todos los lugares del proyecto, por lo que no tiene que actualizar todos los lugares, sino solo el assemblyInfo.

Por ejemplo, en este archivo, actualiza el número de versión y se actualiza automáticamente en su sitio. En la página html, para obtener el número de versión, escriba:

Assembly assembly = Assembly.GetAssembly(typeof(ProjectName.WebSite.Controllers.MyController));
string version = assembly.GetName().Version.ToString();

y se actualizará cada vez que cargue una nueva versión.


4

Es una ubicación conveniente para los atributos de nivel de ensamblaje, como la versión, el nombre de la empresa, etc.


0

AssemblyInfo.cs contiene información general sobre la aplicación que está creando, parte de esta información incluye el título de su aplicación, derechos de autor, etc., por ejemplo, si el título de su aplicación es "MyApplication", debería ver algo como esto: [assembly: AssemblyTitle ("Mi aplicación")]


3
Bienvenido a Stack Overflow. Es bueno verte involucrado, pero evita agregar respuestas que no aporten nada nuevo al tema.
— machnic
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.