Migrace řešení .NET pro HDInsight se systémem Windows na HDInsight se systémem LinuxMigrate .NET solutions for Windows-based HDInsight to Linux-based HDInsight

Clustery HDInsight se systémem Linux používají Mono (https://mono-project.com) ke spouštění aplikací .NET.Linux-based HDInsight clusters use Mono (https://mono-project.com) to run .NET applications. Mono umožňuje používat komponenty .NET, jako jsou aplikace MapReduce, se systémem Linux HDInsight.Mono allows you to use .NET components such as MapReduce applications with Linux-based HDInsight. V tomto dokumentu se dozvíte, jak migrovat řešení .NET vytvořená pro clustery HDInsight se systémem Windows pro práci s mono v HDInsight se systémem Linux.In this document, learn how to migrate .NET solutions created for Windows-based HDInsight clusters to work with Mono on Linux-based HDInsight.

Kompatibilita mono s .NETMono compatibility with .NET

Mono verze 4.2.1 je součástí HDInsight verze 3,6.Mono version 4.2.1 is included with HDInsight version 3.6. Další informace o verzi mono, která je součástí služby HDInsight, najdete v tématu verze komponent HDInsight.For more information on the version of Mono included with HDInsight, see HDInsight component versions.

Další informace o kompatibilitě mezi mono a .NET naleznete v tématu Kompatibilita Mono (https://www.mono-project.com/docs/about-mono/compatibility/) dokumentu.For more information on compatibility between Mono and .NET, see the Mono compatibility (https://www.mono-project.com/docs/about-mono/compatibility/) document.

Důležité

Rozhraní SCP.NET je kompatibilní s mono.The SCP.NET framework is compatible with Mono. Další informace o použití SCP.NET s mono najdete v tématu použití sady Visual Studio k C# vývoji topologií pro Apache Storm v HDInsight.For more information on using SCP.NET with Mono, see Use Visual Studio to develop C# topologies for Apache Storm on HDInsight.

Automatizovaná analýza přenositelnostiAutomated portability analysis

Analyzátor přenositelnosti .NET se dá použít k vygenerování sestavy nekompatibilit mezi vaší aplikací a mono.The .NET Portability Analyzer can be used to generate a report of incompatibilities between your application and Mono. Pomocí následujících kroků nakonfigurujte analyzátor tak, aby zkontroloval vaši aplikaci pro přenositelnost mono:Use the following steps to configure the analyzer to check your application for Mono portability:

  1. Nainstalujte analyzátor přenositelnosti .NET.Install the .NET Portability Analyzer. Během instalace vyberte verzi sady Visual Studio, která se má použít.During installation, select the version of Visual Studio to use.

  2. V aplikaci Visual Studio 2015 vyberte možnost analyzovat > __Nastavení analyzátoru přenositelnosti__a ujistěte se, že je v části mono zaškrtnuto políčko 4,5 .From Visual Studio 2015, select Analyze > Portability Analyzer Settings, and make sure that 4.5 is checked in the Mono section.

    4,5 pro nastavení analyzátoru se vrátil oddíl mono.

    Kliknutím na OK uložte konfiguraci.Select OK to save the configuration.

  3. Vyberte analyzovat > analyzovat přenositelnost sestavení.Select Analyze > Analyze Assembly Portability. Vyberte sestavení, které obsahuje vaše řešení, a pak vyberte otevřít pro zahájení analýzy.Select the assembly that contains your solution, and then select Open to begin analysis.

  4. Po dokončení analýzy vyberte analyzovat > Zobrazit sestavy analýzy.Once analysis is complete, select Analyze > View analysis reports. Ve __výsledcích analýzy přenositelnosti__otevřete sestavu výběrem otevřít sestavu .In Portability Analysis Results, select Open report to open a report.

    Dialogové okno výsledků analyzátoru přenositelnosti

Důležité

Analyzátor nemůže zachytit všechny problémy s vaším řešením.The analyzer cannot catch every problem with your solution. Například cesta k souboru c:\temp\file.txt se považuje za OK, pokud je mono spuštěný ve Windows.For example, a file path of c:\temp\file.txt is considered OK if Mono is running on Windows. Stejná cesta není platná na platformě Linux.The same path is not valid on a Linux platform.

Analýza ručních přenositelnostíManual portability analysis

Proveďte ruční audit kódu pomocí informací v přenositelnosti aplikace (https://www.mono-project.com/docs/getting-started/application-portability/) dokumentu.Perform a manual audit of your code using the information in the Application Portability (https://www.mono-project.com/docs/getting-started/application-portability/) document.

Upravit a sestavitModify and build

Můžete pokračovat v používání sady Visual Studio k sestavení řešení .NET pro HDInsight.You can continue to use Visual Studio to build your .NET solutions for HDInsight. Musíte ale zajistit, aby byl projekt nakonfigurovaný tak, aby používal .NET Framework 4,5.However, you must ensure that the project is configured to use .NET Framework 4.5.

Nasazení a testováníDeploy and test

Po úpravě řešení pomocí doporučení z analyzátoru přenositelnosti .NET nebo z ruční analýzy je potřeba ho otestovat v HDInsight.Once you have modified your solution using the recommendations from the .NET Portability Analyzer or from a manual analysis, you must test it with HDInsight. Testování řešení v clusteru HDInsight se systémem Linux může odhalit drobné problémy, které je třeba opravit.Testing the solution on a Linux-based HDInsight cluster may reveal subtle problems that need to be corrected. Při testování doporučujeme povolit další protokolování ve vaší aplikaci.We recommend that you enable additional logging in your application while testing it.

Další informace o přístupu k protokolům najdete v následujících dokumentech:For more information on accessing logs, see the following documents:

Další krokyNext steps