<> 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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: