В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Установка сборки в глобальном кэше сборок в Visual Basic .NET или Visual Basic 2005

Аннотация
Описание создания строгого имени для сборки и установки файла библиотеки DLL в глобальном кэше сборок. Глобальный кэш сборок позволяет обеспечить общий доступ нескольких приложений к сборкам. Глобальный кэш сборок автоматически устанавливается со средой выполнения .NET. Его компоненты обычно хранятся в папке C:\WINNT\Assembly.

Чтобы установить сборку в глобальном кэше сборок, необходимо присвоить сборке строгое (то есть уникальное) имя. В действительности это не имя, а криптографический хэш-ключ или подпись. Строгое имя обеспечивает контроль версий компонентов и предотвращает конфликты между компонентами с одинаковыми именами и их неправильное использование приложениями.

К началу статьи

Требования

В приведенном ниже списке перечислены рекомендованные оборудование, программное обеспечение, сетевая инфраструктура, а также необходимые знания, навыки и пакеты обновления.
  • Права администратора на компьютере, на котором устанавливается сборка общего доступа.
Необходимые знания:
  • знакомство со сборками в .NET;
  • знакомство с использованием средств командной строки.
К началу статьи

Глобальный кэш сборок

Для того чтобы создать небольшой проект класса библиотек в Visual Studio .NET или Visual Studio 2005, создать строгое имя и установить DLL проекта в глобальный кэш сборок, выполните описанные ниже действия.
  1. Запустите Visual Studio 2005 или Visual Studio .NET.
  2. Создайте новый проект класса библиотек с именем GAC в Visual Basic .NET или Visual Basic 2005.
  3. Необходимо строгое имя. Для создания пары криптографических ключей используйте средство SN Tool, расположенное в подкаталоге \bin папки, в которую установлен набор разработчика .NET Framework Solution Developer Kit (SDK). Пользоваться средством SN Tool очень просто. Выражение командной строки имеет следующий вид:
    sn -k "C:\[DirectoryToPlaceKey]\[KeyName].snk"
  4. Для удобства работы создайте директорию GACDemo на диске C:\ — это облегчит поиск ключа и доступ к нему из командной строки.

    ПРИМЕЧАНИЕ. У большинства пользователей средства .NET расположены в папке C:\Program Files\Microsoft.NET\FrameworkSDK\Bin. Прежде чем ввести приведенную ниже команду SN, следует перейти в каталог bin .NET. Скопируйте путь к каталогу bin .NET, в командной строке введите команду cd, щелкните правой кнопкой мыши, чтобы вставить путь, и нажмите клавишу ВВОД, чтобы быстро перейти в каталог, в котором находится средство SN Tool.

    Введите следующую команду:
    sn -k "C:\GACDemo\GACkey.snk"
    Примечание. В .NET Framework 2.0 средства .NET расположены в папке C:\Program Files\Microsoft.NET\SDK\v2.0\Bin.
  5. Ключ создан, но еще не связан со сборкой проекта. Чтобы установить связь, дважды щелкните файл AssemblyInfo.vb в окне Visual Studio .NET или Visual Studio 2005 Solution Explorer. Добавьте следующую строку в список атрибутов сборки, включаемый в этот файл по умолчанию при создании проекта в Visual Studio .NET или Visual Studio 2005:
    <Assembly: AssemblyKeyFile("C:\GACDemo\GACKey.snk")>
    Скомпилируйте проект, нажав клавиши CTRL+SHIFT+B. Для установки DLL-файла в глобальный кэш сборок дополнительного кода не требуется.
  6. DLL-файл можно установить с помощью средства Gacutil Tool или перенести его в соответствующий каталог. При использовании средства Gacutil Tool введите следующую команду:
    gacutil -I "C:\[PathToBinDirectoryInVSProject]\gac.dll"
    Для переноса файла воспользуйтесь проводником. Откройте два окна проводника. В первом перейдите к папке, в которой расположен DLL-файл консольного проекта. В другом окне перейдите в папку c:\[SystemRoot]\Assembly.

    Перенесите DLL-файл в эту папку.
К началу статьи

Полный листинг кода (AssemblyInfo.vb)

Imports System.ReflectionImports System.Runtime.InteropServices<Assembly: AssemblyTitle("")> <Assembly: AssemblyDescription("")> <Assembly: AssemblyCompany("")> <Assembly: AssemblyProduct("")> <Assembly: AssemblyCopyright("")> <Assembly: AssemblyTrademark("")> <Assembly: CLSCompliant(True)> <Assembly: AssemblyKeyFile("C:\GACDemo\GACKey.snk")> <Assembly: Guid("E3492A62-5389-4286-94A3-1331CC29EA6D")> <Assembly: AssemblyVersion("1.0.*")> 				
К началу статьи

Проверка

  1. Запустите проводник.
  2. Перейдите в папку C:\WINNT\assembly.
  3. Найдите глобальный кэш сборок в списке установленных DLL-файлов.
К началу статьи

Ссылки

Дополнительные сведения см. на перечисленных ниже веб-сайтах корпорации Майкрософт.
Установка сборки в глобальный кэш сборок
http://msdn.microsoft.com/ru-ru/library/dkkx7f79(vs.71).aspx
Глобальный кэш сборок
http://msdn.microsoft.com/ru-ru/library/yf1d93sz(vs.71).aspx

Средство глобального кэша сборокhttp://msdn.microsoft.com/ru-ru/library/ex0ss12c(vs.71).aspx
К началу статьи
Свойства

Номер статьи: 315682 — последний просмотр: 05/14/2011 02:40:00 — редакция: 4.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Studio .NET 2002 Professional Edition, Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbvs2005swept kbvs2005applies kbhowtomaster KB315682
Отзывы и предложения