<> element NetFx40_PInvokeStackResilience
Určuje, jestli modul runtime automaticky opravuje deklarace volání nesprávné platformy za běhu za cenu pomalejších přechodů mezi spravovaným a nespravovaným kódem.
<konfigurace>
<runtime>
<NetFx40_PInvokeStackResilience>
Syntaxe
<NetFx40_PInvokeStackResilience enabled="1|0"/>
Atributy a prvky
Následující části popisují atributy, podřízené prvky a nadřazené prvky.
Atributy
Atribut | Popis |
---|---|
enabled |
Požadovaný atribut. Určuje, jestli modul runtime zjistí nesprávné deklarace volání platformy a automaticky opraví zásobník za běhu na 32bitových platformách. |
Atribut enabled
Hodnota | Popis |
---|---|
0 |
Modul runtime používá rychlejší architekturu zařazování zprostředkovatele komunikace zavedenou v rozhraní .NET Framework 4, která nerozpozná a opravuje deklarace volání nesprávné platformy. Tato možnost je výchozí. |
1 |
Modul runtime používá pomalejší přechody, které detekují a opravují deklarace volání nesprávné platformy. |
Podřízené prvky
Nezaokrouhlovat.
Nadřazené prvky
Element (Prvek) | Popis |
---|---|
configuration |
Kořenový prvek v každém konfiguračním souboru, který je používán modulem Common Language Runtime (CLR) a aplikacemi rozhraní .NET Framework. |
runtime |
Obsahuje informace o možnostech inicializace modulu runtime. |
Poznámky
Tento prvek umožňuje obchodovat s rychlejším zařazováním spolupráce za účelem odolnosti za běhu proti nesprávným deklaracím volání platformy.
Od rozhraní .NET Framework 4 poskytuje zjednodušená architektura zařazování zprostředkovatele spolupráce významné zlepšení výkonu pro přechody ze spravovaného kódu na nespravovaný kód. V dřívějších verzích rozhraní .NET Framework zjistila vrstva seřazování nesprávnou platformou vyvolat deklarace na 32bitových platformách a automaticky opravila zásobník. Tato nová architektura zařazování eliminuje tento krok. V důsledku toho jsou přechody velmi rychlé, ale deklarace vyvolání nesprávné platformy může způsobit selhání programu.
Aby bylo možné během vývoje snadno rozpoznat nesprávné deklarace, vylepšilo se prostředí ladění sady Visual Studio. Pomocník pro ladění spravované ladění pInvokeStackImbalance (MDA) vás upozorní na deklarace volání nesprávné platformy při spuštění aplikace s připojeným ladicím programem.
Pokud chcete řešit scénáře, ve kterých vaše aplikace používá komponenty, které nelze překompilovat a které mají nesprávné deklarace volání platformy, můžete použít NetFx40_PInvokeStackResilience
element. Přidání tohoto prvku do konfiguračního souboru aplikace s výslovnými enabled="1"
souhlasy do režimu kompatibility s chováním starších verzí rozhraní .NET Framework za cenu pomalejších přechodů. Sestavení, která byla zkompilována proti dřívějším verzím rozhraní .NET Framework, jsou automaticky optována do tohoto režimu kompatibility a nepotřebují tento prvek.
Konfigurační soubor
Tento prvek lze použít pouze v konfiguračním souboru aplikace.
Příklad
Následující příklad ukazuje, jak se přihlásit ke zvýšení odolnosti proti nesprávným deklaracím volání platformy pro aplikaci za cenu pomalejších přechodů mezi spravovaným a nespravovaným kódem.
<configuration>
<runtime>
<NetFx40_PInvokeStackResilience enabled="1"/>
</runtime>
</configuration>