Цифровая подпись и развертывание общедоступной сборки
Чтобы проверить разработанную нами сборку 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), показывает глобальный кэш сборок
