Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os tempos de execução do .NET deixaram de adicionar um sufixo A
ou W
aos nomes de exportação de função ao procurar por P/Invokes em plataformas que não sejam Windows.
Versão introduzida
5.0
Alterar descrição
O Windows tem uma convenção de adicionar um A
ou W
sufixo aos nomes de função do SDK do Windows, que correspondem à página de código do Windows e às versões Unicode, respectivamente.
Em versões anteriores do .NET, os runtimes CoreCLR e Mono adicionavam um sufixo A
ou W
ao nome de exportação durante o processo de descoberta para P/Invokes em todas as plataformas.
No .NET 5 e versões posteriores, A
ou W
são sufixos adicionados ao nome de exportação durante a descoberta de exportação apenas no Windows. Em plataformas Unix, o sufixo não é adicionado. A semântica de ambos os tempos de execução na plataforma Windows permanece inalterada.
Motivo da mudança
Esta alteração foi feita para simplificar os testes entre plataformas. É uma sobrecarga que não deve ser incorrida, dado que as plataformas que não são do Windows não contêm essa semântica.
Ação recomendada
Para atenuar a alteração, você pode adicionar manualmente o sufixo desejado em plataformas que não sejam Windows. Por exemplo:
[DllImport(...)]
extern static void SetWindowTextW();