Partilhar via


Especificando a localização de uma biblioteca de código Assembly

Observação

Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.

Há duas maneiras de especificar a localização de um assembly:

Você também pode usar a Ferramenta de Configuração do .NET Framework (Mscorcfg.msc) para especificar localizações de assemblies ou especificar localizações para o Common Language Runtime procurar por assemblies.

Utilização do <codeBase> Elemento

Pode usar o elemento <codeBase> apenas em ficheiros de configuração de máquina ou de políticas do publicador que também redirecionam a versão do assembly. Quando o runtime determina qual versão de assembly usar, aplica-se a configuração de código base do arquivo que determina a versão. Se nenhuma base de código for indicada, o tempo de execução investigará o assembly da maneira normal. Para obter detalhes, consulte Como o tempo de execução do sistema localiza assemblagens.

O exemplo a seguir mostra como especificar a localização de um conjunto.

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="myAssembly"
                           publicKeyToken="32ab4ba45e0a69a1"
                           culture="en-us" />
         <codeBase version="2.0.0.0"
                   href="http://www.litwareinc.com/myAssembly.dll"/>
       </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

O version atributo é obrigatório para todas as assembleias com nomes fortes, mas deve ser omitido para assembleias que não têm nomes fortes. O <codeBase> elemento requer o href atributo. Não podes especificar intervalos de versões no <codeBase> elemento.

Observação

Se você estiver fornecendo uma dica de base de código para um assembly que não tem nome forte, a dica deverá apontar para a base do aplicativo ou para um subdiretório do diretório base do aplicativo.

Utilização do <probing> Elemento

O tempo de execução localiza assemblies que não têm uma base de código através de pesquisa. Para obter mais informações sobre sondagem, consulte Como o tempo de execução localiza assemblies.

Você pode usar o <elemento probing> no ficheiro de configuração da aplicação para especificar subdiretórios nos quais o runtime deve pesquisar ao localizar um assembly. O exemplo a seguir mostra como especificar diretórios que o tempo de execução deve pesquisar.

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="bin;bin2\subbin;bin3"/>
      </assemblyBinding>
   </runtime>
</configuration>

O atributo privatePath contém os diretórios que o runtime deve procurar por assemblies. Se o aplicativo estiver localizado em C:\Program Files\MyApp, o tempo de execução procurará assemblies que não especificam uma base de código em C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin e C:\Program Files\MyApp\Bin3. Os diretórios especificados em privatePath devem ser subdiretórios do diretório base da aplicação.

Ver também