Для чего используется AssemblyInfo.cs?


116

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


Но помните, что этот номер версии используется вместе с именем, токеном открытого ключа и информацией о культуре только в том случае, если сборки имеют строгие подписанные имена. Если сборки не имеют строгих имен и подписей, для загрузки используются только имена файлов.
— Karl SoCal

Ответы:


85

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 01

3
Что, если я хочу автоматизировать обновление версии при каждом выпуске. Это возможно?
— Sachin Kainth 01

После успешной сборки в настройках проекта вы можете вызвать какой-нибудь .exe для обновления этого номера (чтобы это был номер версии для следующего выпуска, а не только что созданный). Взгляните на: codeproject.com/Articles/31236/…
— Francois

Вы уверены, что нет необходимости его модифицировать? Как вы контролируете свои развертывания, не используя номер версии?
— Угур Алданмаз

Как / когда он генерируется? Могу ли я изменить идентификатор на какой-нибудь случайный гид?
— Шахрияр Салджуги,

15

В файле AssemblyInfo информационные атрибуты содержат информацию о названии продукта, описании, торговой марке, авторских правах. Как правило, эта информация либо жестко запрограммирована, либо хранится в базе данных или в плоском файле. Сборка .NET предусматривает хранение этой информации в файле AssemblyInfo и после компиляции становится частью сборки. Так что во время выполнения можно прочитать эту информацию.

Часть информации о сборке

1 AssemblyTitle: название заголовка сборки.

2 AssemblyDescription: содержит подробное описание сборки.

3 AssemblyCompany: Предоставляет информацию о компании из сборки.

4 AssemblyProduct: предоставляет производственную информацию из сборки.

5 AssemblyCopyright: Предоставляет авторские права на сборку.

6 AssemblyTrademark: Предоставляет товарный знак сборки.

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

Проверьте эту ссылку: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx


10

Перейдите в "Свойства проекта" на вкладку "Приложение" и нажмите кнопку "Информация о сборке".

Это то, что хранится в AssemblyInfo.cs.

В проводнике Windows щелкните правой кнопкой мыши выходной файл .exe проекта, выберите «Свойства» и перейдите на вкладку «Сведения». Это информация, созданная AssemblyInfo.cs.


8

В файле AssemblyInfo вы можете хранить информацию, которую вы можете получить из любого места в проекте, поэтому вам не нужно обновлять все места, а только assemblyInfo.

Например - в этом файле вы обновляете номер версии, и он автоматически обновляется на вашем сайте. На странице html, чтобы получить номер версии, напишите:

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

и он будет обновляться каждый раз, когда вы загружаете новую версию.


4

Это удобное место для атрибутов уровня сборки, таких как версия, название компании и т. Д.


0

AssemblyInfo.cs содержит общую информацию о приложении, которое вы создаете, часть этой информации включает заголовок вашего приложения, авторские права и т. Д., Например, если заголовок вашего приложения - «MyApplication», вы должны увидеть что-то вроде этого: [assembly: AssemblyTitle ("Мое заявление")]


4
Добро пожаловать в Stack Overflow. Приятно видеть, что вы участвуете, но, пожалуйста, не добавляйте ответы, которые не вносят ничего нового в тему.
— machnic
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.