Сборки со строгими именами

Строгое имя состоит из удостоверения сборки, включающего ее простое текстовое имя, номер версии и сведения о языке и региональных параметрах (если они имеются), а также открытый ключ и цифровую подпись. Оно создается из файла сборки (файла, содержащего манифест сборки, который в свою очередь содержит имена и хэш-коды всех составляющих сборку файлов) с помощью соответствующего закрытого ключа. Назначить сборке строгое имя можно с помощью Microsoft® Visual Studio® .NET и других средств разработки, входящих в состав Пакет средств разработки программного обеспечения (SDK) для Windows. Сборки, строгие имена которых совпадают, считаются идентичными.

Гарантировать глобальную уникальность имени сборки можно, подписав ее строгим именем. Строгие имена, в частности, удовлетворяют следующим требованиям.

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

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

  • Строгие имена обеспечивают надежный контроль целостности. Успешный результат при проверке безопасности платформы .NET Framework гарантирует, что содержимое сборки не было изменено после ее формирования. Однако стоит отметить, что строгие имена сами по себе не подразумевают такой же уровень доверия, который обеспечивается, например, при использовании цифровой подписи и сертификатов.

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

См. также

Задачи

Практическое руководство. Подписание сборки строгим именем

Основные понятия

глобальный кэш сборок