Sdílet prostřednictvím


Netestování přípony A/W u jiných platforem než Windows

Moduly runtime .NET už nepřidají názvy A nebo W přípony pro export názvů funkcí během testování pro volání nespravovaného kódu na platformách jiných než Windows.

Zavedená verze

5,0

Změna popisu

Systém Windows má konvenci přidání A nebo W přípony k názvům funkcí sady Windows SDK, které odpovídají znakové stránce Systému Windows a verzím Unicode.

V předchozích verzích .NET přidávají AW moduly Runtime CoreCLR i Mono příponu k názvu exportu během zjišťování exportu pro volání nespravovaných objektů na všech platformách.

V .NET 5 a novějších verzích AW se do názvu exportu při zjišťování exportu ve Windows přidá pouze přípona nebo přípona. Na platformách Unix není přípona přidána. Sémantika obou modulů runtime na platformě Windows zůstává beze změny.

Důvod změny

Tato změna byla provedena, aby se zjednodušilo testování napříč platformami. Je to režijní náklady, které by neměly vzniknout, protože tyto sémantické platformy neobsahují jiné platformy než Windows.

Pokud chcete tuto změnu zmírnit, můžete požadovanou příponu přidat ručně na platformách jiných než Windows. Příklad:

[DllImport(...)]
extern static void SetWindowTextW();

Ovlivněná rozhraní API