Для чого використовується AssemblyInfo.cs?


115

Моє запитання досить основне. Що я хотів би знати, для чого використовується файл AssemblyInfo.cs?


Але пам’ятайте, що цей номер версії використовується разом з назвою, токеном відкритого ключа та інформацією про культуру лише у тому випадку, якщо збірки мають чітке ім’я. Якщо збірки не мають сильного імені, підписані, для завантаження використовуються лише імена файлів.
— Karl SoCal

Відповіді:


84

AssemblyInfo.cs містить інформацію про вашу збірку, як, наприклад, ім'я, опис, версію тощо. Ви можете знайти більш детальну інформацію про її вміст, прочитавши коментарі, що входять до нього.

Якщо ви видалите його, ваша збірка буде складена без інформації, тобто на вкладці "Деталі" властивостей файлу ви не побачите імені, жодного опису, версії 0.0.0.0 і т.д.

Значення, пов'язане зі складанням: Guid - це ідентифікатор, який ідентифікує збірку, якщо вона буде виставлена ​​як об'єкт COM. Отже, якщо ваша збірка не піддається дії COM, вам цього не потрібно. Це генерується випадковим чином. У будь-якому випадку, як правило, не потрібно його змінювати.

Кредити йдуть на сторінку: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/8955449f-71ac-448e-9ee6-5329fceecd3c


1
Отже, якщо я ніколи не зміню номер версії у своєму файлі AssemblyInfo, то незалежно від того, скільки розгортань я виконую, він завжди відображатиметься як 1.0.0.0?
— Sachin Kainth

3
Що робити, якщо я хочу автоматизувати оновлення версії кожного випуску. Чи можливо це?
— Sachin Kainth

Після успішного вбудування в налаштуваннях проекту ви можете зателефонувати на якийсь .exe, щоб оновити цей номер (так це буде номер версії для наступного випуску, а не той, щойно створений). Подивіться на: codeproject.com/Articles/31236/…
— Франсуа

Ви впевнені, що не потрібно змінювати його? Як ви керуєте своїми розгортаннями, не використовуючи номер версії?
— Uğur Aldanmaz

15

У файлі AssemblyInfo Інформаційні атрибути містять інформацію про найменування продукту, опис, товарний знак, авторські права. Загалом ці відомості є або жорстким кодом, або зберігаються у базі даних або у файлі. .NET збірка забезпечує зберігання цієї інформації у файлі AssemblyInfo, і після компіляції вона стає частиною збірки. Тож під час запуску можна прочитати цю інформацію.

Частина інформації про збори

1 AssemblyTitle: Назва заголовку в зборі.

2 Опис опису: Він містить детальний опис із складання.

3 AssemblyCompany: Він надає інформацію про компанію від зборів.

4 Монтажний продукт: Він забезпечує виробничу інформацію про збірку.

5 Асамблерське авторське право: надає авторські права на збірку.

6 AssemblyTrademark: надає товарний знак від складання.

Кожен з цих атрибутів має визначений клас, який використовується для зчитування інформації з файлу AssemblyInfo.

Перевірте це посилання: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx


10

Перейдіть до своїх властивостей проекту, на вкладку Програма та натисніть кнопку Інформація про складання.

Ось що зберігається в AssemblyInfo.cs.

У Windows Explorer клацніть правою кнопкою миші вихідний файл .exe проекту, виберіть "Властивості" та перейдіть на вкладку "Деталі". Це інформація, що генерується AssemblyInfo.cs.


8

У файлі AssemblyInfo ви можете зберігати інформацію, яку ви можете отримати з кожного місця проекту, тож вам не доведеться оновлювати всі місця, а лише збиранняInfo.

Наприклад - у цьому файлі ви оновлюєте номер версії, і він оновлюється автоматично на вашому сайті. На сторінці html, щоб отримати номер версії, напишіть:

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

і вона оновлюватиметься кожного разу, коли ви завантажуєте нову версію.


4

Це зручне місце для атрибутів рівня складання, таких як версія, назва компанії тощо.


0

AssemblyInfo.cs містить загальну інформацію про додаток, який ви будуєте, частина цієї інформації включає назву вашої програми, авторські права тощо, наприклад, якщо назва вашої програми "MyApplication", ви повинні побачити щось подібне: [Assembly: AssemblyTitle ("MyApplication")]


4
Ласкаво просимо до переповнення стека. Приємно бачити, що ви долучились, але, будь ласка, уникайте додавання відповідей, які не приносять нічого нового в тему.
— Махніка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.