Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os artigos a seguir mostram as várias maneiras de fazer "interoperabilidade nativa" no .NET.
Há algumas razões pelas quais você gostaria de chamar o código nativo:
- Os sistemas operacionais vêm com um grande volume de APIs que não estão presentes nas bibliotecas de classes gerenciadas. Um excelente exemplo para este cenário seria o acesso a funções de gerenciamento de hardware ou sistema operacional.
- Comunicação com outros componentes que têm ou podem produzir ABIs (ABIs nativas) no estilo C, como código Java exposto via Java Native Interface (JNI) ou qualquer outra linguagem gerenciada que possa produzir um componente nativo.
- No Windows, a maioria dos softwares instalados, como o pacote Microsoft Office, registra componentes COM que representam seus programas e permitem que os desenvolvedores os automatizem ou os utilizem. Isso também requer interoperabilidade nativa.
A lista anterior não cobre todas as situações e cenários potenciais em que o desenvolvedor desejaria/gostaria/precisaria interagir com componentes nativos. A biblioteca de classes .NET, por exemplo, usa o suporte nativo de interoperabilidade para implementar um número razoável de suas APIs, como suporte e manipulação de console, acesso ao sistema de arquivos e outros. No entanto, é importante notar que há uma opção, se necessário.
Observação
A maioria dos exemplos nesta seção será apresentada para todas as três plataformas suportadas para .NET Core (Windows, Linux e macOS). No entanto, para alguns exemplos curtos e ilustrativos, apenas um exemplo é mostrado que usa nomes de arquivos e extensões do Windows (ou seja, "dll" para bibliotecas). Isso não significa que esses recursos não estejam disponíveis no Linux ou macOS, foi feito apenas por conveniência.