Como: Referenciar um assembly de nome forte

O processo para referenciar tipos ou recursos em um assembly de nome forte é normalmente transparente.Você pode fazer a referência em tempo de compilação (ligação antecipada) ou em tempo de execução.

Uma referência em tempo de compilação ocorre quando você indica para o compilador que seu assembly referencia explicitamente outro assembly.Quando você usa referência em tempo de compilação, o compilador automaticamente obtém o chave pública do assembly de nome forte de destino e o coloca na referência do assembly que está sendo compilado.

Observação:

Um assembly de nome forte pode apenas usar tipos de outros assemblies de nome forte.Caso contrário, a segurança do assembly de nome forte estaria comprometida.

Para fazer uma referência a um assembly de nome forte em tempo de compilação

  • No prompt de comando, digite o seguinte comando:

    <comando do compilador > / reference: < nome do assembly >

    Neste comando, comando do compilador é o comando do compilador para a linguagem que você está utilizando, e nome do assembly é o nome do assembly de nome forte que está sendo referenciado.Você também pode usar outras opções do compilador, como a opção /t:library para criar um assembly de biblioteca.

O exemplo a seguir cria um assembly chamado myAssembly.dll que referencia um assembly de nome forte chamado myLibAssembly.dll a partir de um módulo de código chamado myAssembly.cs.

csc /t:library myAssembly.cs /reference:myLibAssembly.dll

Para fazer uma referência a um assembly de nome forte em tempo de execução

  • Quando você faz uma referência em tempo de execução a um assembly de nome-forte, usando, por exemplo, os métodos Assembly.Load ou Assembly.GetType, você deve usar o nome para exibição do assembly de nome forte referenciadoA sintaxe de uma nome de exibição é da seguinte maneira:

<nome do assembly >, < número da versão>, <culture>, <símbolo de chave pública >

Por exemplo:

myDll, Version=1.1.0.0, Culture=en, PublicKeyToken=03689116d3a4ae33 

Nesse exemplo, o símbolo de chave pública é a forma hexadecimal do símbolo de chave pública.Se houver não valor cultural, utilize Cultura = Neutral .

O exemplo de código a seguir mostra como usar essas informações com o método Assembly.Load.

Assembly.Load("myDll,Version=1.0.0.1,Culture=neutral,PublicKeyToken=9b35aa32c18d4fb1")
Assembly.Load("myDll,Version=1.0.0.1,Culture=neutral,PublicKeyToken=9b35aa32c18d4fb1");

Você pode imprimir o formato hexadecimal da chave pública e do símbolo de chave pública para um assembly específico usando a seguinte ferramenta de Nome Forte (Sn.exe) de linha de comando:

sn - Tp < assembly >

Se você tiver um arquivo de chave pública, você pode usar o seguinte comando em vez disso (observe a diferença em relação ao caso da opção de linha de comando):

sn - tp < assembly >

Consulte também

Outros recursos

Criando e usando Assemblies de Nome Forte