Windows olmayan platformlarda A/W sonek yoklaması yok

.NET çalışma zamanları artık Windows dışı platformlarda P/Invoke'ları yoklama sırasında dışarı aktarma adlarının çalışması için bir A veya W son eki eklemez.

Sürüm kullanıma sunulmuştur

5.0

Açıklama değiştirildi

Windows, Sırasıyla Windows kod sayfasına ve Unicode sürümlerine karşılık gelen Windows SDK işlev adlarına veya AW son eki ekleme kuralına sahiptir.

.NET'in önceki sürümlerinde hem CoreCLR hem de Mono çalışma zamanları, tüm platformlardaki P/Invoke'lar için dışarı aktarma bulma sırasında dışarı aktarma adına bir A veya W son eki ekler.

.NET 5 ve sonraki sürümlerde, dışarı aktarma adına yalnızca Windows'da dışarı aktarma bulma sırasında bir A veya W son eki eklenir. Unix platformlarında sonek eklenmez. Windows platformundaki her iki çalışma zamanının semantiği değişmeden kalır.

Değişiklik nedeni

Bu değişiklik platformlar arası araştırmayı basitleştirmek için yapılmıştır. Windows dışı platformların bu semantiği içermemesi nedeniyle tahakkuk etmemesi gereken ek yük söz konusudur.

Değişikliği azaltmak için Windows dışı platformlarda istediğiniz son eki el ile ekleyebilirsiniz. Örneğin:

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

Etkilenen API’ler