Цифровая подпись и развертывание общедоступной сборки
Чтобы проверить разработанную нами сборку SharedComponent, мы должны создать испытательную клиентскую программу, а затем, вместо того, чтобы копировать SharedComponent.dll в каталог клиента, мы применим утилиту Gacutil.exe (Global Assembly Cache utility), или Проводник Windows (Windows Explorer), или Инструмент администрирования .NET (.NET Admin Tool), чтобы развернуть сборку в глобальном кэше сборок. Следующий код представляет собой испытательную клиентскую программу.
//SharedComponentClient.срр linclude "stdafx.h" #using <mscorlib.dll> using namespace Systeir; // использование пространства имен Система; #using <C:\OI\NetCpp\Chap7\SharedComponent\Debug\ SharedComponent.dll> using namespace SharedComponent; // использование пространства имен SharedComponent; using namespace System; // использование пространства имен Система; void main() { SomeClass *psc = new SomeClass; int sum = psc › AddEmUp(3, 4); // суммируем Console::WriteLine(sum); // сумма }
Если бы вышеупомянутая испытательная клиентская программа была выполнена до инсталляции компонента-сборки, во время выполнения было бы запущено исключение FileNotFoundException, потому что сборку не удалось бы найти. Но на сей раз мы развертываем сборку в глобальном кэше сборок с помощью утилиты Gacutil.exe (Global Assembly Cache utility). Напомним, это только один из нескольких методов.
Gacutil – 1 SharedComponent.dll
Затем можно выполнить клиент, причем теперь он должен работать надлежащим образом.
После этого вы должны увидеть на консоли сообщение Assembly successfully added to the cache (Сборка успешно добавлена в кэш). В результате выполнения приведенной выше команды в каталоге \WINNT\Assembly был создан новый глобальный узел кэша сборки, имя этого узла – SharedComponent. Как видно на рис. 7.4, номер версии и создатель (т.е. лексема открытого ключа) сборки отображаются в Проводнике Windows (Windows Explorer).
Рис. 7.4. Проводник Windows (Windows Explorer), показывает глобальный кэш сборок