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


Управление версиями сборок

Версионирование всех сборок, использующих общеязыковую среду выполнения, осуществляется на уровне сборки. Конкретная версия сборки и версии зависимых сборок записываются в манифесте сборки. Политика версий по умолчанию для среды выполнения заключается в том, что приложения выполняются только с версиями, с которыми они были созданы и протестированы, если не переопределяется явной политикой версий в файлах конфигурации (файл конфигурации приложения, файл политики издателя и файл конфигурации администратора компьютера).

Среда выполнения выполняет несколько шагов для разрешения запроса привязки сборки:

  1. Проверяет исходную ссылку на сборку, чтобы определить, к какой версии сборки необходимо привязаться.

  2. Проверяет наличие всех применимых файлов конфигурации для применения политики версий.

  3. Определяет правильную сборку на основе исходной ссылки на сборку и любых редиректов, указанных в файлах конфигурации, и определяет версию, которая должна быть привязана к вызывающей сборкой.

  4. Проверяет глобальный кэш сборок, базы кода, указанные в файлах конфигурации, а затем проверяет каталог и подкаталоги приложения с помощью правил проверки, описанных в разделе "Поиск сборок во время выполнения".

На следующем рисунке показаны следующие действия:

Схема, демонстрирующая шаги в разрешении запросов на привязку сборки.

Дополнительные сведения о настройке приложений см. в разделе "Настройка приложений". Дополнительные сведения о политике привязки см. в статье о том, как среда выполнения находит сборки.

Сведения о версии

Каждая сборка имеет два разных способа выражения сведений о версии:

  • Номер версии сборки, который вместе с информацией о имени сборки и региональных параметрах является частью идентификации сборки. Это число используется средой выполнения для применения политики версий и играет ключевую роль в процессе разрешения типов во время выполнения.

  • Информационная версия, представляющая дополнительные сведения о версии, включённые исключительно для информационных целей.

Номер версии сборки

Каждая сборка имеет номер версии как часть своей идентичности. Таким образом, две сборки, которые отличаются по номеру версии, считаются средой выполнения совершенно разными сборками. Номер версии физически представлен в виде четырехкомпонентной строки со следующим форматом:

< основная версия>.<дополнительная версия>.<номер сборки>.<пересмотр>

Например, версия 1.5.1254.0 указывает 1 в качестве основной версии, 5 в качестве дополнительной версии, 1254 в качестве номера сборки и 0 в качестве номера редакции.

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

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

Среда выполнения различает регулярные и строго именованные сборки для целей управления версиями. Проверка версий выполняется только со сборками с сильным именем.

Сведения об указании политик привязки версий см. в разделе "Настройка приложений". Сведения о том, как среда выполнения использует сведения о версии для поиска определенной сборки, см. в разделе "Как среда выполнения находит сборки".

Информационная версия сборки

Информационная версия — это строка, которая присоединяет дополнительные сведения о версии к сборке только для информационных целей; Эта информация не используется во время выполнения. Текстовая информационная версия соответствует маркетинговой литературе, упаковке или названию продукта и не используется исполняющей средой. Например, информационная версия может быть "Общая языковая среда выполнения версии 1.0" или "Управление .NET SP 2". На вкладке "Версия" диалогового окна свойств файла в Microsoft Windows эти сведения отображаются в элементе "Версия продукта".

Замечание

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

Информационная версия представлена с помощью пользовательского атрибута System.Reflection.AssemblyInformationalVersionAttribute. Дополнительные сведения об атрибуте информационной версии см. в разделе "Настройка атрибутов сборки".

См. также