Megosztás a következőn keresztül:


<> NetFx40_PInvokeStackResilience elem

Meghatározza, hogy a futtatókörnyezet automatikusan kijavítja-e a helytelen platformhívási deklarációkat futásidőben, a felügyelt és a nem felügyelt kód közötti lassabb átmenetek árán.

<Konfigurációs>
  <Runtime>
    <NetFx40_PInvokeStackResilience>

Syntax

<NetFx40_PInvokeStackResilience  enabled="1|0"/>

Attribútumok és elemek

Az alábbi szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik.

Attribútumok

Attribútum Leírás
enabled Kötelező attribútum.

Megadja, hogy a futtatókörnyezet észleli-e a helytelen platformhívási deklarációkat, és automatikusan javítja-e a vermet futásidőben a 32 bites platformokon.

enabled attribute

Érték Leírás
0 A futtatókörnyezet a .NET-keretrendszer 4-ben bevezetett gyorsabb interop marshalling architektúrát használja, amely nem észleli és nem javítja ki a helytelen platformmeghívási deklarációkat. Ez az alapértelmezett beállítás.
1 A futtatókörnyezet lassabb átmeneteket használ, amelyek észlelik és kijavítják a helytelen platformhívási deklarációkat.

Gyermekelemek

Nincsenek.

Szülőelemek

Elem Leírás
configuration A közös nyelvi futtatókörnyezet és .NET-keretrendszer alkalmazások által használt összes konfigurációs fájl gyökéreleme.
runtime Információkat tartalmaz a futtatókörnyezet inicializálási beállításairól.

Megjegyzések

Ez az elem lehetővé teszi, hogy a futásidejű rugalmasság érdekében gyorsabb interop-rendezéssel kereskedjen a helytelen platformhívási deklarációkkal szemben.

A .NET-keretrendszer 4-től kezdve az egyszerűsített interop-rendezési architektúra jelentős teljesítménybeli javulást biztosít a felügyelt kódról a nem felügyelt kódra való áttéréshez. A .NET-keretrendszer korábbi verzióiban a rendezési réteg helytelen platformhívási deklarációkat észlelt a 32 bites platformokon, és automatikusan rögzítette a vermet. Az új rendezési architektúra kiküszöböli ezt a lépést. Ennek eredményeképpen az áttűnések nagyon gyorsak, de egy helytelen platformhívási deklaráció programhibát okozhat.

Annak érdekében, hogy a fejlesztés során könnyen észlelhetők legyenek a helytelen deklarációk, a Visual Studio hibakeresési élménye javult. A pInvokeStackImbalance felügyelt hibakeresési segéd (MDA) értesíti Önt a helytelen platformhívási deklarációkról, amikor az alkalmazás a csatolt hibakeresővel fut.

Az olyan forgatókönyvek kezeléséhez, amikor az alkalmazás olyan összetevőket használ, amelyeket nem lehet újrafordíteni, és amelyek helytelen platformhívási deklarációkkal rendelkeznek, használhatja az NetFx40_PInvokeStackResilience elemet. Ha hozzáadja ezt az elemet az alkalmazáskonfigurációs fájlhozenabled="1", a lassabb áttűnések árán kompatibilitási módba lép a .NET-keretrendszer korábbi verzióinak viselkedésével. A .NET-keretrendszer korábbi verzióihoz összeállított szerelvények automatikusan ezt a kompatibilitási módot választják, és nincs szükségük erre az elemre.

Konfigurációs fájl

Ez az elem csak az alkalmazáskonfigurációs fájlban használható.

Példa

Az alábbi példa bemutatja, hogyan lehet nagyobb rugalmasságot választani egy alkalmazás helytelen platformhívási deklarációival szemben, a felügyelt és a nem felügyelt kód közötti lassabb átmenetek árán.

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

Lásd még