Migración de soluciones .NET para HDInsight basado en Windows a HDInsight basado en Linux

Los clústeres de HDInsight basados en Linux usan Mono (https://mono-project.com) para ejecutar aplicaciones .NET. Mono le permite usar componentes .NET como aplicaciones de MapReduce con HDInsight basado en Linux. En este documento, aprende a migrar soluciones .NET creadas para clústeres de HDInsight basados en Windows para que funcionen con Mono en HDInsight basados en Linux.

Compatibilidad de Mono con .NET

La versión 4.2.1 de Mono está incluida en la versión 3.6 de HDInsight. Para obtener más información sobre la versión de Mono incluida en HDInsight, consulte el artículo relativo a las versiones de componentes de HDInsight.

Para más información sobre la compatibilidad entre Mono y .NET, vea el documento sobre compatibilidad con Mono (https://www.mono-project.com/docs/about-mono/compatibility/).

Importante

El marco de trabajo de SCP.NET es compatible con Mono. Para obtener más información sobre cómo usar SCP.NET con Mono, consulte Uso de Visual Studio para el desarrollo de topologías de C# para Apache Storm en HDInsight.

Análisis de portabilidad automatizado

El Analizador de portabilidad de .NET puede usarse para generar un informe de las incompatibilidades entre la aplicación y Mono. Siga estos pasos con el fin de configurar el analizador para comprobar su aplicación en relación con la portabilidad a Mono:

  1. Instale el Analizador de portabilidad de .NET. Durante la instalación, seleccione la versión de Visual Studio que se usará.

  2. En Visual Studio 2015, seleccione Analyze>Portability Analyzer Settings (Analizar > Configuración del analizador de portabilidad) y asegúrese de que esté marcado 4.5 en la sección Mono.

    4.5 checked in Mono section for the analyzer settings

    Seleccione Aceptar para guardar la configuración.

  3. Seleccione Analyze>Analyze Assembly Portability (Analizar > Analizar portabilidad de ensamblado). Seleccione el ensamblado que contiene su solución y, después, seleccione Open (Abrir) para iniciar el análisis.

  4. Una vez completado el análisis, seleccione Analyze>View analysis reports (Analizar > Ver informes de análisis). En Portability Analysis Results (Resultados de análisis de portabilidad), seleccione Open report (Abrir informe) para abrir un informe.

    Portability analyzer results dialog

Importante

El analizador no puede detectar todos los problemas de su solución. Por ejemplo, la ruta del archivo c:\temp\file.txt se considera correcta si Mono se ejecuta en Windows. Sin embargo, la misma ruta de acceso no es válida en una plataforma Linux.

Análisis de portabilidad manual

Realice una auditoría manual del código con la información del documento sobre portabilidad de la aplicación (https://www.mono-project.com/docs/getting-started/application-portability/).

Modificación y compilación

Puede continuar usando Visual Studio para compilar sus soluciones .NET para HDInsight. Sin embargo, debe asegurarse de que el proyecto esté configurado para usar .NET Framework 4.5.

Implementación y prueba

Una vez que haya modificado la solución mediante las recomendaciones del Analizador de portabilidad de .NET o de un análisis manual, debe probarla con HDInsight. Probar la solución en un clúster de HDInsight basado en Linux puede revelar problemas sutiles que deben corregirse. Se recomienda que habilite el registro adicional en la aplicación durante la prueba.

Para obtener más información sobre el acceso a los registros, consulte los documentos siguientes:

Pasos siguientes