Создание Windows-приложений на основе Visual C#

         

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


В комплект поставки Microsoft Visual Studio .NET входят утилиты Microsoft .NET Framework Tools, применяемые для дополнительной работы с приложениями и компонентами. Файлы большинства утилит располагаются в каталоге С\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin. Описание со ссылками на дополнительные справочные ресурсы находится в в папке Bin в документе StartTools.htm. В этой и следующей лекциях мы рассмотрим работу с несколькими утилитами.

Создание сборки со строгим именем сводится к созданию закрытого ключа для шифрования хэш-кода сборки. Для этого используется утилита sn.exe. Непосредственный запуск из папки Bin не позволит приступить к работе — подобно прочим утилитам, ее функции доступны из командной строки. Для запуска sn.exe из командной строки Windows1) указываем путь к каталогу и название (рис. 9.3).


увеличить изображение
Рис. 9.3.  Запуск sn.exe из командной строки Windows

Более удобный способ работы с утилитами — использование командной строки Visual Studio .NET. Для ее запуска выбираем Пуск\Все программы\ Microsoft Visual Studio .NET 2003 \ Visual Studio .NET Tools \ Visual Studio .NET 2003 Command Prompt и просто вводим название утилиты (рис. 9.4):

sn.exe


увеличить изображение
Рис. 9.4.  Запуск sn.exe из командной строки Visual Studio.NET

Далее мы будем использовать командную строку Visual Studio .NET. В любом случае появляется справка утилиты, которую затем снова можно вывести, набрав одну из команд:

sn.exe - ? sn.exe –h

Для создания закрытого ключа вводим команду (рис. 9.5):

sn.exe – k "Путь к папке для сохранения ключа\Название ключа.Расширение"


увеличить изображение
Рис. 9.5.  Ключ StrongKey.snk был записан в указанную директорию

Вместо расширения key можно поставить любое другое. Расширением по умолчанию является .snk. После того как закрытый ключ создан, необходимо прикрепить его к приложению. В окне Solution Explorer проекта дважды щелкаем на файле AssemblyInfo.cs. Если Атрибут [assembly: AssemblyKeyFile("")] содержит путь к закрытому ключу, компилятор использует его для шифрования данных (рис. 9.6).


Рис. 9.6.  Использование атрибута [assembly: AssemblyKeyFile("")] для прикрепления ключа к приложению

Также с помощью атрибута [assembly] можно указать версию сборки, настройки культуры и другие параметры (рис. 9.7).


увеличить изображение
Рис. 9.7.  Информация о сборке в атрибутах [assembly]

Сборки, подписанные строгим именем, добавляются в проект так же, как и обычные сборки. Для этого в окне Solution Explorer щелкаем правой кнопкой мыши на папке References и в появившемся контекстном меню выбираем пункт Add Reference… . По умолчанию окно Add Reference открывается на вкладке .NET, в которой нажимаем на кнопку Browse и выбираем сборку. В листинг текущего приложения добавляем пространство имен, применяемое в сборке, используя ключевое слово using. После компиляции сборка будет добавлена в проект.



Содержание раздела