Установка сборки в глобальный кэш сборок в Visual C#

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

В этой статье

Аннотация

В данной статье описывается создание строгого имени сборка и установка файл DLL в глобальный кэш сборок (GAC). В глобальном кэше СБОРОК совместного использования сборок во множестве приложений. Находится в глобальном кэше СБОРОК автоматически устанавливается вместе со средой выполнения .NET. Обычно хранятся компоненты в C:\WINNT\Assembly.

Чтобы установить сборку в глобальный кэш СБОРОК, необходимо присвоить строгое имя сборки. Имя является хэш ключа шифрования или подписи. Это строгое имя гарантирует правильное управление версиями компонентов. Это помогает предотвратить компоненты из конфликтующих друг с другом или с одинаковыми именами неправильно используется много приложением.


Требования

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

В данной статье предполагается, что вы знакомы с следующие разделы:
  • Общее Знакомство со сборками в .NET.
  • Общее Знакомство с использованием средств командной строки.

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

Чтобы создать небольшой проект библиотеки классов с помощью Visual Studio для создания строгого имени и установить DLL-файла в проект глобальный кэш СБОРОК, выполните следующие действия:
  1. В Visual Studio создайте новый Visual C# класс Проект библиотеки и имя проектаGACDemo.
  2. Необходимо использовать строгое имя. Чтобы создать этот криптографии пары ключей, используйте средство SN. Это средство расположено в подкаталоге \bin где установлена платформа.NET Framework решения Developer Kit (SDK). Средство SN простой в использовании. Принимает следующие инструкции командной строки
    "[DriveLetter]:\[DirectoryToPlaceKey]\[KeyName].snk" sn -k
    Примечание В Visual Studio 2005 и более поздних версиях Visual Studio можно использовать свойства проекта для создания пары ключей и подписывания сборки. Затем можно пропустить этапы 3 и 4 и также избежать внесения изменений кода в файл AssemblyInfo.cs.

    Чтобы использовать свойства проекта интегрированная среда разработки для создания пары ключей и подписать сборку, выполните следующие действия.
    1. В обозревателе решений щелкните правой кнопкой мыши GACDemo, а затем нажмите кнопку Свойства.
    2. Нажмите кнопку Подписи на вкладке и выберите Подпишите сборку флажок.
    3. В Выберите ключ строгого имени Выберите <New...></New...>.
    4. Введите GACkey.snk Имя файла ключа, нажмите кнопку '' Очистить Защитить мой файл ключей паролем Установите флажок и нажмите кнопку ОК.
    5. Нажмите сочетание клавиш CTRL + SHIFT + B, чтобы скомпилировать проект.
    После выполнения этих действий по-прежнему необходимо выполнить шаг 5, чтобы установить сборки в глобальном кэше СБОРОК.
  3. Создайте каталог с именем GACKey в C:\, чтобы легко могли найти ключ и получить доступ к ключу в командной строке.

    Примечание Для большинства пользователей средств .NET расположены в C:\Program Files\Microsoft.NET\FrameworkSDK\Bin. Перед введите следующую команду SN необходимо скопировать этот же путь на компьютере .NET ячейки каталог. Введите компакт-диск Щелкните правой кнопкой мыши в командной строке Чтобы вставить путь и нажмите клавишу ВВОД, чтобы быстро перейти в каталог где находится средство SN.

    Введите следующую команду:
    «C:\GACKey\GACkey.snk» sn -k
  4. Ключ создается, но он еще не связан с сборка проекта. Чтобы создать данную взаимосвязь, дважды щелкните значок Файл AssemblyInfo.cs, в обозревателе решений Visual Studio .NET. Этот файл имеет Список атрибутов сборки, включенные по умолчанию при проекта созданный в Visual Studio .NET. Изменить AssemblyKeyFileсборка атрибута в коде следующим образом:
    [сборка: AssemblyKeyFile("C:\\GACKey\\GACKey.snk")]
    Скомпилируйте проект, нажав сочетание клавиш CTRL + SHIFT + B. Нет необходимости иметь никакого дополнительного кода, чтобы установить файл DLL в глобальном кэше СБОРОК.
  5. DLL-файл можно установить с помощью средства Gacutil или При перетаскивании файла .dll в соответствующую папку. Если используется Gacutil средство, можно использовать команду, подобную следующей:
    gacutil -I "[DriveLetter]:\[PathToBinDirectoryInVSProject]\gac.dll"
    Перетащите файл, открыть два экземпляра проводника Windows. В одном экземпляре местоположения выходной файл .dll проекта консоли. Поиск в другом экземпляре c:\[SystemRoot]\Assembly. Перетащите файл DLLСборки папка.

Полный пример кода (AssemblyInfo.cs)

using System.Reflection;
using System.Runtime.CompilerServices;

//
// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// that is associated with an assembly.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

//
// Version information for an assembly is made up of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values, or you can default the revision and build numbers 
// by using the '*' as shown below:

[assembly: AssemblyVersion("1.0.*")]

//
// To sign your assembly you must specify a key to use. See the 
// Microsoft .NET Framework documentation for more information about assembly signing.
//
// Use the following attributes to control that key is used for signing. 
//
// Notes: 
//   (*) If no key is specified, the assembly is not signed.
//   (*) KeyName refers to a key that has been installed in the Crypto Service
//       Provider (CSP) on your computer. KeyFile refers to a file that contains
//       a key.
//   (*) If the KeyFile and the KeyName values are both specified, the 
//       following processing occurs:
//       (1) If the KeyName can be found in the CSP, that key is used.
//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
//           in the KeyFile is installed to the CSP and used.
//   (*) To create a KeyFile, you can use the sn.exe (Strong Name) utility.
//       When specifying the KeyFile, the location of the KeyFile must be
//       relative to the project output directory which is
//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
//       located in the project directory, you would specify the AssemblyKeyFile 
//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
//       documentation for more information about this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("C:\\GACKey\\GACKey.snk")]
[assembly: AssemblyKeyName("")]

Проверка

  1. Запустите проводник Windows.
  2. Найдите C:\SystemRoot\ сборки.
  3. GACDemo вы видите в списке установленных .dll файлы.

Ссылки

Дополнительные сведения см. ниже веб-узлов корпорации Майкрософт:
Установка сборки в глобальный кэш сборок
.aspx http://msdn2.Microsoft.com/en-us/library/dkkx7f79 (vs.71)
Глобальный кэш сборок
.aspx http://msdn2.Microsoft.com/en-us/library/yf1d93sz (vs.71)
Инструмент глобального кэша сборок
.aspx http://msdn2.Microsoft.com/en-us/library/ex0ss12c (vs.71)

Свойства

Код статьи: 815808 - Последний отзыв: 29 марта 2013 г. - Revision: 8.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Ключевые слова: 
kbcodesign kbcommandline kbnamespace kbhowtomaster kbmt KB815808 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 815808

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

 

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