Compartilhar via


<NetFx40_PInvokeStackResilience> Elemento

Especifica se o runtime automaticamente correções declarações de invocação de plataforma incorreta em tempo de execução, o custo da transições mais lentos entre gerenciados e código não gerenciado.

<NetFx40_PInvokeStackResilience  enabled="1|0"/>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Atributo

Descrição

enabled

Atributo obrigatório.

Especifica se o tempo de execução detecta plataforma incorreta de declarações de invocação e corrige automaticamente a pilha em tempo de execução em plataformas de 32 bits.

Atributo enabled

Valor

Descrição

0

O runtime usa a empacotamento arquitetura introduzida de interoperabilidade mais rápida a .NET Framework versão 4, que não detecta e invocação de plataforma incorreta de correção de declarações. Este é o padrão.

1

As transições de usos mais lentas de runtime que detectam e corrigir a plataforma incorreta de declarações de invocação.

Elementos filho

Nenhum.

Elementos pai

Elemento

Descrição

configuration

O elemento raiz em cada arquivo de configuração usadas pelos common language runtime e .NET Framework aplicativos.

runtime

Contém informações sobre as opções de inicialização do runtime.

Comentários

Esse elemento permite comerciais mais rápidos interop marshaling para declarações de invocação de resiliência de tempo de execução contra a plataforma incorreta.

Começando com o .NET Framework 4, uma arquitetura simplificada de empacotamento interop oferece uma melhoria de desempenho significativos para transições do código gerenciado para código não gerenciado. Em versões anteriores do.NET Framework, a camada de empacotamento detectado plataforma incorreta invocar declarações em plataformas de 32 bits e corrigidos automaticamente a pilha. A nova arquitetura de empacotamento elimina essa etapa. Como resultado, as transições são muito rápidas, mas a declaração de invocação de uma plataforma incorreta pode causar uma falha do programa.

Para tornar fácil detecção incorretas declarações durante o desenvolvimento, a experiência de depuração de Visual Studio foi aprimorado. O pInvokeStackImbalance Assistente de depuração gerenciada (MDA) notifica você de plataforma incorreta declarações de invocação quando seu aplicativo é executado com o depurador anexado.

Para lidar com cenários onde o seu aplicativo usa os componentes que não for possível recompilar e que têm incorreta invocação de plataforma declarações, você pode usar o NetFx40_PInvokeStackResilience elemento. Adicionar este elemento ao seu arquivo de configuração do aplicativo com enabled="1" opta em um modo de compatibilidade com o comportamento de versões anteriores do.NET Framework, ao custo de transições mais lento. Os assemblies que foram compilados em relação a versões anteriores do.NET Framework automaticamente por participar activamente para este modo de compatibilidade e não precisam desse elemento.

Arquivo de configuração

Esse elemento pode ser usado somente no arquivo de configuração do aplicativo.

Exemplo

A exemplo a seguir mostra como para consentir maior resiliência contra incorreto declarações de um aplicativo, o custo da transições mais lentos entre invocação de plataforma gerenciado e código não gerenciado.

<configuration>
   <runtime>
      <NetFx40_PInvokeStackResilience enabled="1"/>
   </runtime>
</configuration>

Consulte também

Referência

Esquema configurações Runtime

pInvokeStackImbalance MDA

Outros recursos

Esquema do arquivo de configuração para o.NET Framework