louis vuitton bag moncler jacka ugg boots mbt sko louis vuitton oslo moncler ugg www.steklo1.ru
   Поиск
 

FrameWork

MicroSoft DotNet

Cи Шарп это просто Simple C#
Логин Пароль Вход Регистрация
Главная
Изучаем C#
Web-приложения
Win-приложения
Web-сервисы
ADO.NET
FrameWork
Алгоритмы
Исходники
Классы
Среда разработки
Статьи
Форум
FAQ
О Проекте
Обратная связь
Отблагодарить
Rambler's Top100

Назначение сборке строгого имени

Если планируется предоставить доступ к сборке нескольким приложениям, ее
следует поместить в общеизвестный каталог, который 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 голосов)
Для оценки необходимо зарегистрироваться


Только зарегистрировавшиеся пользователи могут оставлять комментарии



Практический обучающий видео-курс "Основы C#"

От профессионального
разработчика для начинающих
и опытных программистов!

Кликните, чтобы изучить
язык C# с нуля и научиться
писать программы под платформу .NET!