Compartir a través de


Interoperabilidad nativa

En los artículos siguientes se muestran las distintas formas de realizar la "interoperabilidad nativa" en .NET.

Existen varios motivos por los que puede interesarle llamar a código nativo:

  • Los sistemas operativos incluyen un gran volumen de API que no están presentes en las bibliotecas de clases administradas. Un ejemplo primo para este escenario sería el acceso a funciones de administración de hardware o sistema operativo.
  • Comunicarse con otros componentes que tienen o pueden producir ABIs de estilo C (ABIs nativos), como código Java que se expone a través de java Native Interface (JNI) o cualquier otro lenguaje administrado que pueda producir un componente nativo.
  • En Windows, la mayoría del software que se instala, como el conjunto de aplicaciones de Microsoft Office, registra componentes COM que representan sus programas y permiten a los desarrolladores automatizarlos o usarlos. Esto también requiere interoperabilidad nativa.

En la lista anterior no se tratan todas las posibles situaciones y escenarios en los que el desarrollador desea o quiere o necesita interactuar con componentes nativos. Por ejemplo, la biblioteca de clases de .NET usa la compatibilidad con la interoperabilidad nativa para implementar un número razonable de sus API, como la compatibilidad y manipulación de la consola, el acceso al sistema de archivos y otros. Sin embargo, es importante tener en cuenta que hay una opción si es necesario.

Nota:

La mayoría de los ejemplos de esta sección se presentarán para las tres plataformas compatibles con .NET Core (Windows, Linux y macOS). Sin embargo, para algunos ejemplos breves e ilustrativos, solo se muestra un ejemplo que usa nombres de archivo y extensiones de Windows (es decir, "dll" para bibliotecas). Esto no significa que esas características no estén disponibles en Linux o macOS, se hizo simplemente por comodidad.

Consulte también