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

Переводы статьи Переводы статьи
Код статьи: 315682 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Описание создания строгого имени для сборки и установки файла библиотеки 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.Reflection
Imports 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 - Последний отзыв: 14 мая 2011 г. - Revision: 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

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com