Compartilhar via


Como: Desabilitar o recurso de anulação de nome forte

Começando com a versão do .NET estrutura 3.5 serviço empacotar 1 (SP1), nome forte assinaturas não estão validados quando um assembly é carregado em uma confiança total AppDomain objeto, sistema autônomo o padrão AppDomain para o MyComputer zona. Isso é conhecido para sistema autônomo o nome de alta segurança-ignorar o recurso.Em um ambiente de confiança total, demandas de StrongNameIdentityPermission sempre será bem sucedida para assinado, assemblies de confiança total, independentemente de sua assinatura. A única restrição é que o assembly deve ser totalmente confiável porque sua zona é totalmente confiável.Como o nome forte não é um fator determinante sob essas condições, não há nenhum motivo para que ela ser validado.Ignorando a validação de assinaturas de nome forte fornece aprimoramentos significativos de desempenho.

O recurso de ignorar se aplica a qualquer conjunto confiança total, que não é atraso assinado e que é carregado em qualquer confiança total AppDomain do diretório especificado por seu ApplicationBase propriedade.

Você pode substituir a possibilidade de todos os aplicativos em um computador, definindo um valor de chave do registro.Você pode substituir a configuração para um único aplicativo usando um arquivo de configuração do aplicativo.Não é possível reabilitar o recurso de desvio para um único aplicativo se ele tiver sido desabilitado pela chave do registro.

Quando você substitui o recurso Ignorar, o nome forte é validado apenas para correção; ele não estiver marcado para um StrongNameIdentityPermission. Para confirmar um nome forte específico, você precisará executar essa verificação separadamente.

Observação importante:

A capacidade de forçar forte - validação de nome depende de uma chave de registro, conforme descrito no procedimento a seguir.Se um aplicativo executando em uma conta que não tem permissão de ACL (lista) de controle de acesso para acessar a chave do registro, a configuração é ineficaz.Você deve garantir que os direitos ACL são configurados para essa chave para que possa ser lido para todos os assemblies.

Para desabilitar o nome de alta segurança-ignorar o recurso para todos os aplicativos

  • Em computadores de 32 bit, criar uma subchave sob a chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework no registro do sistema.Use o nome de chave AllowStrongNameBypass com um valor DWORD de 0.

    - ou -

  • Em computadores de 64 bit, criar uma subchave sob a chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework no registro do sistema.Use o nome de chave AllowStrongNameBypass com um valor DWORD de 0.criar a subchave sob a chave HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework mesma.

Para desabilitar o nome de alta segurança-ignorar o recurso para um único aplicativo

  1. Abra ou crie o arquivo de configuração do aplicativo.

    Para obter mais informações sobre este arquivo, consulte Arquivos de configuração de aplicativo.

  2. Adicione a seguinte entrada:

    <configuration>
      <runtime>
         < bypassTrustedAppStrongNames enabled="false" />
      </runtime>
    </configuration>
    

Você pode restauração o recurso de desvio para o aplicativo por meio da remoção da configuração do arquivo de configuração ou definindo o atributo como "true".

Observação:

Você pode Ativar alta segurança - nome v alidation Ativar e desativar para um aplicativo somente i o recurso de ignorar f é habilitado para o computador.Se o recurso de ignorar tiver sido desativado para o computador , nomes fortes são validados para todos os aplicativos e não é possível Ignorar validações para um único aplicativo.

Consulte também

Referência

Ferramenta Strong Name (Sn.exe)

< bypassTrustedAppStrongNames > Elemento

Outros recursos

Criando e usando Assemblies de Nome Forte

Date

History

Motivo

Julho de 2008

Tópico adicional.

Alteração de recurso do SP1.