Compartilhando uma biblioteca com código parcialmente confiável

Dica

Esse tópico aborda o uso de assemblies de nomes fortes.As informações a seguir aplicam-se somente aos assemblies de nível 1 ou assemblies que usam a política de segurança herdada.os assemblies decódigo de segurança transparente, nível 2 não são afetados em .NET Framework 4 ou posterior por nomes fortes.Para obter mais informações sobre as alterações do sistema de segurança, consulte Alterações na segurança do .NET Framework.Várias etapas devem ser concluídas antes que as bibliotecas compartilhadas podem ser chamadas pelo código parcialmente confiável.Para obter uma visão geral desse problema, consulte Usando bibliotecas de código parcialmente confiável.Você pode habilitar o acesso parcialmente confiável às bibliotecas concluindo as três tarefas descritas nas seções a seguir.

Atribui um nome forte ao assembly

Antes de sua biblioteca poder ser compartilhada através do cache de assembly global ou ser usada como um componente baixado, você deve criar um nome forte. Complete as seguintes tarefas descritas em Criando e usando os assemblies de nomes fortes para atribuir um nome forte a sua biblioteca:

  1. Criar um par de chaves.

  2. Use Vinculador de assembly (Al.exe) ou um atributo de assembly para aplicar o par de chaves à sua biblioteca.

Desativar o LinkDemand

Para desativar o LinkDemand implícito que bloqueia o código parcialmente confiável das chamadas de bibliotecas compartilhadas, aplique AllowPartiallyTrustedCallersAttribute no assembly em nível do seu código.

O exemplo de código a seguir demonstra como aplicar o atributo AllowPartiallyTrustedCallersAttribute a uma biblioteca compartilhada.

<assembly:AllowPartiallyTrustedCallersAttribute()>
[assembly:AllowPartiallyTrustedCallersAttribute()] 

Quando este atributo estiver presente, quaisquer verificações de segurança restantes no seu código ainda funcionam como antes, incluindo todos os atributos declarativos de segurança no nível de classe que estão presentes. Este atributo bloqueia somente a execução implícita do LinkDemand .

Dica

Em .NET Framework 4, uma nova propriedade foi adicionada à classe AllowPartiallyTrustedCallersAttribute que permite que o atributo seja ativada condicionalmente.Para obter mais informações, consulte a propriedade PartialTrustVisibilityLevel.

Compartilhar a biblioteca

Depois que as tarefas anteriores forem concluídas, é possível compartilhar a biblioteca colocando no cache de assemblies global. Para obter mais informações, consulte Instalar um assembly no cache de assembly global.

Dica

Se você quer evitar chamadores parcialmente confiáveis chamando de classes de seleção ou membros em sua biblioteca, você pode colocar demandas destas classes ou membros.Para obter mais informações, consulte Exigindo confiança total para tipos em um assembly APTCA.

Consulte também

Conceitos

Usando bibliotecas de código parcialmente confiável

Código transparente de segurança, nível 2

Outros recursos

Segurança de acesso do código