|
Назначение сборке строгого имени
Если планируется предоставить доступ к сборке нескольким приложениям, ее
следует поместить в общеизвестный каталог, который CLR должна автоматически проверять, обнаружив ссылку на сборку. Однако с этим связана проблема: а что,
если две (или больше) компаний сделают сборки с одинаковыми именами? В таком случае, если обе эти сборки будут скопированы в один общеизвестный каталог, «победит* последняя из них, а работа приложений, использовавших первую,
нарушится — ведь первая была затерта второй при копировании (это и стало
причиной существования «ада DLL* в современных Windows-системах).
Очевидно, мало знать имя файла, чтобы отличить две сборки. CLR должна поддерживать некий механизм, позволяющий уникально идентифицировать сборку,
Этот механизм обозначается термином «строгое имя» сборки. У сборки со строгим именем четыре атрибута, уникально ее идентифицирующих: имя файла без
расширения), номер версии, идентификатор регионального стандарта и маркер
открытого ключа (значение, производное от открытого ключа). Следующие четыре строки идентифицируют совершенно разные файлы сборки:
"MyTypes, Verslon=1.0.8123.О, Culture=neutral, PublicKeyToken=b77a5c561934e089"
"MyTypes, Version=1.0.8123.О, Culture="en-US", PublicKeyToken=b77a5c561934e089"
"MyTypes, Version=2.0.1234.0, Culture=neutral, PublicKeyToken=b77a5c561934e089-T
"MyTypes, Version=1.0.8123.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
|
Первая строка идентифицирует файл сборки MyTypes.dll. Компания-производитель назначила для сборки номер версии 1.0.8123.0; в ней нет компонентов,
зависимых от региональных стандартов, так как атрибут C u l t u r e определен как
neutral. Но сделать сборку MyTypes.dll с номером версии 1.0.8123-0 и нейтральными региональными стандартами может любая компания.
Должен быть способ отличить сборку, созданную этой компанией, от сборок
других компаний, которым случайно были назначены те же атрибуты. В силу ряда
причин Microsoft предпочла другим способам идентификации (при помощи GUID,
URL и URN) использование стандартных криптографических технологий, основанных на паре из закрытого и открытого ключей. В частности, криптографические
технологии позволяют проверять целостность данных сборки при установке ее
на жесткий диск, а также обеспечивают предоставление прав доступа для сборки
в зависимости от ее издателя.
Итак, компания, желающая снабдить свои сборки уникальной меткой, должна
получить пару ключей — открытый и закрытый, после чего открытый ключ можно будет связать со сборкой. У всех компаний будут разные пары ключей, поэтому они могут создавать сборки с одинаковым именем, версией и региональным
стандартами, не опасаясь возникновения конфликтов.
Предыдущая стр.   
Оглавление   
Следующая стр.
Средняя оценка:     (1 - 1 голосов) Для оценки необходимо зарегистрироваться
Только зарегистрировавшиеся пользователи могут оставлять комментарии
|
|