<NetFx40_PInvokeStackResilience> elemento<NetFx40_PInvokeStackResilience> Element

Specifica se il runtime corregge automaticamente le dichiarazioni platform invoke non corrette in fase di esecuzione, al costo di transizioni più lente tra codice gestito e quello non gestito.Specifies whether the runtime automatically fixes incorrect platform invoke declarations at run time, at the cost of slower transitions between managed and unmanaged code.

<configuration><configuration>
<runtime><runtime>
<NetFx40_PInvokeStackResilience><NetFx40_PInvokeStackResilience>

SintassiSyntax

<NetFx40_PInvokeStackResilience  enabled="1|0"/>  

Attributi ed elementiAttributes and Elements

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.The following sections describe attributes, child elements, and parent elements.

AttributiAttributes

AttributoAttribute DescrizioneDescription
enabled Attributo obbligatorio.Required attribute.

Specifica se il runtime rileva la piattaforma corretta dichiarazioni invoke e consente di correggere automaticamente lo stack in fase di esecuzione su piattaforme a 32 bit.Specifies whether the runtime detects incorrect platform invoke declarations and automatically fixes the stack at run time on 32-bit platforms.

Attributo enabledenabled Attribute

ValoreValue DescrizioneDescription
0 Il runtime Usa introdotto nell'architettura di marshalling di interoperabilità più veloce la .NET Framework 4.NET Framework 4, che non rileva e Correggi dichiarazioni platform invoke errate.The runtime uses the faster interop marshaling architecture introduced in the .NET Framework 4.NET Framework 4, which does not detect and fix incorrect platform invoke declarations. Questa è l'impostazione predefinita.This is the default.
1 Dichiarazioni di richiamo il runtime utilizza transizioni più lente che rileva e Correggi piattaforma non corretta.The runtime uses slower transitions that detect and fix incorrect platform invoke declarations.

Elementi figlioChild Elements

Nessuno.None.

Elementi padreParent Elements

ElementoElement DescrizioneDescription
configuration Elemento radice in ciascun file di configurazione usato in Common Language Runtime e nelle applicazioni .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Contiene informazioni sulle opzioni di inizializzazione in fase di esecuzione.Contains information about runtime initialization options.

NoteRemarks

Questo elemento consente gli scambi più veloce il marshalling di interoperabilità per dichiarazioni di richiamo di resilienza in fase di esecuzione per la piattaforma non corretta.This element enables you to trade faster interop marshaling for run-time resilience against incorrect platform invoke declarations.

A partire dal .NET Framework 4.NET Framework 4, un'architettura di marshalling di interoperabilità semplificata fornisce un miglioramento significativo delle prestazioni per le transizioni da codice gestito a codice non gestito.Starting with the .NET Framework 4.NET Framework 4, a streamlined interop marshaling architecture provides a significant performance improvement for transitions from managed code to unmanaged code. Nelle versioni precedenti di .NET Framework, la piattaforma non corretto a livello rilevato marshalling richiamare dichiarazioni in piattaforme a 32 bit e corrette automaticamente lo stack.In earlier versions of the .NET Framework, the marshaling layer detected incorrect platform invoke declarations on 32-bit platforms and automatically fixed the stack. La nuova architettura di marshalling elimina questo passaggio.The new marshaling architecture eliminates this step. Di conseguenza, le transizioni sono molto veloci, ma una dichiarazione platform invoke errata può causare un errore del programma.As a result, transitions are very fast, but an incorrect platform invoke declaration can cause a program failure.

Per consentire un facile rilevare le dichiarazioni non corrette durante lo sviluppo, è stato migliorato l'esperienza di debug di Visual Studio.To make it easy to detect incorrect declarations during development, the Visual Studio debugging experience has been improved. Il pInvokeStackImbalance assistente al debug gestito (MDA) notifica della piattaforma non corretta invoke dichiarazioni quando l'applicazione è in esecuzione con il debugger collegato.The pInvokeStackImbalance managed debugging assistant (MDA) notifies you of incorrect platform invoke declarations when your application is running with the debugger attached.

Per scenari in cui l'applicazione utilizza componenti che non è possibile ricompilare e che sono dichiarazioni platform invoke errate, è possibile utilizzare il NetFx40_PInvokeStackResilience elemento.To address scenarios where your application uses components that you cannot recompile, and that have incorrect platform invoke declarations, you can use the NetFx40_PInvokeStackResilience element. Aggiunta di questo elemento al file di configurazione dell'applicazione con enabled="1" opts in una modalità di compatibilità con il comportamento delle versioni precedenti di .NET Framework, al costo di transizioni più lente.Adding this element to your application configuration file with enabled="1" opts into a compatibility mode with the behavior of earlier versions of the .NET Framework, at the cost of slower transitions. Gli assembly che sono stati compilati con le versioni precedenti di .NET Framework vengono scelti automaticamente in questa modalità di compatibilità e non è necessario questo elemento.Assemblies that have been compiled against earlier versions of the .NET Framework are automatically opted into this compatibility mode, and do not need this element.

File di configurazioneConfiguration File

Questo elemento può essere usato solo nel file di configurazione dell'applicazione.This element can be used only in the application configuration file.

EsempioExample

L'esempio seguente viene illustrata la modalità per acconsentire esplicitamente una maggiore flessibilità rispetto corretto dichiarazioni platform invoke per un'applicazione, al costo di transizioni più lente tra codice gestito e.The following example shows how to opt into increased resilience against incorrect platform invoke declarations for an application, at the cost of slower transitions between managed and unmanaged code.

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

Vedere ancheSee Also

Schema delle impostazioni di runtimeRuntime Settings Schema
Schema dei file di configurazioneConfiguration File Schema
pInvokeStackImbalancepInvokeStackImbalance