Поделиться через


Использование атрибутов AssemblyVersion и AssemblyFileVersion

В этой статье описывается использование AssemblyVersion и AssemblyFileVersion атрибуты в файле AssemblyInfo.cs.

Исходная версия продукта: платформа .NET Framework
Исходный номер базы знаний: 556041

Итоги

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

Microsoft .NET Framework предоставляет возможность задать для каждой сборки два разных типа номеров версий.

AssemblyVersion

Это номер версии, используемый платформой во время сборки и во время выполнения для поиска, связывания и загрузки сборок. При добавлении ссылки на любую сборку в проекте это номер версии, который внедряется. Во время выполнения среда CLR ищет сборку с данным номером версии для загрузки. Но помните, что эта версия используется вместе с именем, маркером открытого ключа и сведениями о языках и региональных параметров, только если сборки имеют строгое имя. Если сборки не имеют строго именованных подписей, для загрузки используются только имена файлов.

AssemblyFileVersion

Это номер версии, заданный файлу, как в файловой системе. Он отображается в проводнике Windows и никогда не используется платформой .NET или средой выполнения для ссылки.

Атрибуты в AssemblyInfo.cs

// Version information for an assembly consists of the following four values:
// Major Version
// Minor Version
// Build Number
// Revision
[assembly: AssemblyVersion("1.0.0.0")]  
[assembly: AssemblyFileVersion("1.0.0.0")]

Предоставление (*) вместо абсолютного числа делает компилятор увеличение числа на один раз при сборке.

Предположим, вы создаете сборку платформы для проекта, которая используется многими разработчиками при создании сборок приложений. Если вы часто выпускаете новую версию сборки, скажем, один раз в день, и если сборки имеют строгое имя, разработчики должны будут изменять ссылку при каждом выпуске новой сборки. Это может быть громоздким и может привести к неправильным ссылкам также. Лучший вариант в таких закрытых группах и переменных сценариях — исправить AssemblyVersion и изменить только AssemblyFileVersion. Используйте номер версии файла сборки, чтобы сообщить о последнем выпуске сборки. В этом случае разработчикам не придется изменять ссылки, и они могут перезаписать сборку в пути ссылки. В центральной или окончательной сборке сборки имеет смысл изменить AssemblyVersion версию сборки.AssemblyFileVersion