Essa política é aplicável à todas as versões do .NET Framework, mas não é aplicável ao .NET Framework incluído no Silverlight.This policy applies to all versions of .NET Framework, but does not apply to the .NET Framework included in Silverlight.

Aplicativos que recebem menos do que a confiança total do seu host ou de área restrita não tem permissão para chamar compartilhado bibliotecas gerenciadas, a menos que o gravador da biblioteca permita, especificamente, através do uso do AllowPartiallyTrustedCallersAttribute atributo.Applications that receive less than full trust from their host or sandbox are not allowed to call shared managed libraries unless the library writer specifically allows them to through the use of the AllowPartiallyTrustedCallersAttribute attribute.Portanto, autores de aplicativos devem estar cientes de que algumas bibliotecas não estarão disponíveis para eles em um contexto parcialmente confiável.Therefore, application writers must be aware that some libraries will not be available to them from a partially trusted context.Por padrão, todo o código que que executa em uma confiança parcial sandbox e não é a lista de assemblies de confiança total é parcialmente confiável.By default, all code that executes in a partial-trust sandbox and is not in the list of full-trust assemblies is partially trusted.Se você não espera que seu código deve ser executado em um contexto parcialmente confiável ou ser chamado por código parcialmente confiável, você não precisa se preocupar com as informações nesta seção.If you do not expect your code to be executed from a partially trusted context or to be called by partially trusted code, you do not have to be concerned about the information in this section.No entanto, se você escrever código que deve interagir com código parcialmente confiável ou não funcione em um contexto parcialmente confiável, você deve considerar os seguintes fatores:However, if you write code that must interact with partially trusted code or operate from a partially trusted context, you should consider the following factors:

Bibliotecas devem ser assinadas com um nome forte para ser compartilhado por vários aplicativos.Libraries must be signed with a strong name in order to be shared by multiple applications.Nomes fortes permitir que seu código seja colocado no cache de assembly global ou adicionado à lista de confiança total de um modo seguro AppDomain, e permitem que os consumidores verificar se uma determinada parte do código móvel realmente provém de você.Strong names allow your code to be placed in the global assembly cache or added to the full-trust list of a sandboxing AppDomain, and allow consumers to verify that a particular piece of mobile code actually originates from you.

Se um chamador não tem a confiança total, mas ainda tenta chamar uma biblioteca, o tempo de execução lança um SecurityException e o chamador não tem permissão para vincular à biblioteca.If a caller does not have full trust but still tries to call such a library, the runtime throws a SecurityException and the caller is not allowed to link to the library.

Para desabilitar o automático LinkDemand e evitar a exceção de que está sendo lançada, você pode colocar o AllowPartiallyTrustedCallersAttribute atributo no escopo do assembly de compartilhado biblioteca.In order to disable the automatic LinkDemand and prevent the exception from being thrown, you can place the AllowPartiallyTrustedCallersAttribute attribute on the assembly scope of a shared library.Este atributo permite suas bibliotecas ser chamado do código parcialmente confiável.This attribute allows your libraries to be called from partially trusted managed code.

Código parcialmente confiável que é concedido acesso a uma biblioteca com esse atributo é ainda sujeita a mais restrições definidas pelo AppDomain.Partially trusted code that is granted access to a library with this attribute is still subject to further restrictions defined by the AppDomain.

Não é possível através de programação para código parcialmente confiável chame uma biblioteca que não tem o AllowPartiallyTrustedCallersAttribute atributo.There is no programmatic way for partially trusted code to call a library that does not have the AllowPartiallyTrustedCallersAttribute attribute.

Considere a possibilidade de habilitar explicitamente o uso por código parcialmente confiável para os seguintes tipos de código:You should consider explicitly enabling use by partially trusted code for the following types of code:

Código que foi testado cuidadosamente quanto a vulnerabilidades de segurança e está em conformidade com as diretrizes descritas em diretrizes de codificação segura.Code that has been diligently tested for security vulnerabilities and is in compliance with the guidelines described in Secure Coding Guidelines.