Como instalar um assembly no global assembly cache na translation from VPE for Csharp Visual

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 815808
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 315682.

NESTA TAREFA

Sumário
Este artigo descreve como gerar um nome forte para um assembly e como instalar um arquivo .dll no GAC (cache de assembly global). Com o GAC, você pode compartilhar assemblies em muitos aplicativos. O GAC é instalado automaticamente com o .NET runtime. Componentes normalmente são armazenados em C:\WINNT\Assembly.

Para instalar um assembly no GAC, você deve dar um nome forte do assembly. O nome é um hash-chave de criptografia ou assinatura. Esse nome de alta segurança garante a versão correta do componente. Isso ajuda a evitar componentes que têm o mesmo nome entrem em conflito uns com os outros ou incorretamente sendo usado por um aplicativo de consumo.

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs são necessários:
  • Direitos de administrador para o computador onde o assembly compartilhado está sendo instalado

Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Geral familiaridade com assemblies no. NET.
  • Geral familiaridade com o uso de ferramentas no prompt de comando.
back to the top

Cache global de assemblies

Para criar um pequeno projeto Class Library usando o Visual Studio, para gerar um nome forte e para instalar o arquivo .dll do projeto no GAC, siga estas etapas:
  1. No Visual Studio, criar um novo projeto do Visual translation from VPE for Csharp Class Library e nomeie o projeto GACDemo .
  2. Você deve usar um nome forte. Para gerar esse par de chaves criptográfica, use a ferramenta SN. Essa ferramenta está localizada no subdiretório \bin onde o Solution Developer Kit (SDK) do .NET Framework está instalado. A ferramenta SN é fácil de usar. A instrução de linha de comando tem o seguinte
    "[DriveLetter]:\[DirectoryToPlaceKey]\[KeyName].snk" sn -k
    Observação No Visual Studio 2005 e em versões posteriores do Visual Studio, você pode usar as propriedades de projeto do IDE para gerar um par de chaves e assinar seu assembly. Em seguida, você pode ignore as etapas 3 e 4 e também ignorar fazer quaisquer alterações de código no arquivo AssemblyInfo.cs.

    Para usar as propriedades de projeto do IDE para gerar um par de chaves e assinar seu assembly, execute essas etapas:
    1. No Solution Explorer, clique com o botão direito do mouse GACDemo e, em seguida, clique em Propriedades .
    2. Clique na guia Signing e, em seguida, clique para selecionar a caixa de seleção Sign the assembly .
    3. Na lista Escolher uma chave de nome de alta segurança , clique em <New...>.
    4. Tipo GACkey.snk como o nome do arquivo de chave, clique para desmarcar a caixa de seleção proteger meu arquivo de chave com uma senha e, em seguida, clique em OK .
    5. Pressione CTRL + SHIFT + B para compilar o projeto.
    Após seguir essas etapas, você deve seguir a etapa 5 para instalar o assembly no GAC.
  3. Crie um diretório chamado GACKey em C:\ para que você possa facilmente localizar a chave e acessar a chave no prompt de comando.

    Observação Para a maioria dos usuários, as ferramentas do .NET estão localizadas em C:\Program Files\Microsoft.NET\FrameworkSDK\Bin. Antes de digitar o seguinte comando SN, talvez você deseja copiar este caminho semelhante no seu computador para o diretório bin .NET. Digite cd no prompt de comando, clique com o botão direito do mouse para colar o caminho e, em seguida, pressione ENTER para mudar rapidamente para o diretório onde a ferramenta SN está localizada.

    Digite o seguinte:
    sn -k "C:\GACKey\GACkey.snk"
  4. Uma chave é gerada, mas ainda não é associada com o assembly do projeto. Para criar essa associação, clique duas vezes no Solution Explorer do Visual Studio .NET arquivo AssemblyInfo.cs. Este arquivo tem a lista de atributos do assembly que são incluídos por padrão quando um projeto é criado no Visual Studio. NET. Modificar AssemblyKeyFile assembly atributo no código da seguinte maneira:
    [ assembly: AssemblyKeyFile("C:\\GACKey\\GACKey.snk") ]
    Compile o projeto, clicando em CTRL + SHIFT + B. Não é necessário para que qualquer código adicional para instalar um arquivo .dll no GAC.
  5. Você pode instalar o arquivo .dll usando a ferramenta Gacutil ou arrastando o arquivo .dll para a pasta apropriada. Se você usar o Gacutil ferramenta, você pode usar um comando semelhante à seguinte:
    gacutil-, "[DriveLetter]:\[PathToBinDirectoryInVSProject]\gac.dll"
    Para arrastar o arquivo, abra duas instâncias do Windows Explorer. Em uma instância, encontrar o local da saída de arquivo .dll para seu projeto de console. Outro exemplo, localize c:\[SystemRoot]\Assembly. Em seguida, arraste o arquivo .dll para a pasta assembly .
back to the top

Listagem de código completo (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("")]
back to the top

Verificação

  1. Inicie o Windows Explorer.
  2. Localizar C:\ SystemRoot \ assembly.
  3. Você verá GACDemo na lista de arquivos .dll instalados.
back to the top
Referências
Para obter mais informações, consulte os seguintes sites:
Instalar um assembly no cache global de assemblies
http://msdn2.microsoft.com/en-us/library/dkkx7f79(vs.71).aspx
back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 815808 - Última Revisão: 05/13/2007 05:06:28 - Revisão: 3.9

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

  • kbmt kbcodesign kbcommandline kbnamespace kbhowtomaster KB815808 KbMtpt
Comentários