Porter son code sur .NET CORE

Auteur du billet de blog : Nicolas Hilaire - Neotech Solutions

Nicolas Hilaire

Consultant .NET
  Publié le vendredi 30 septembre 2016

Artisan logiciel particulièrement intéressé par les technologies .NET. Polyvalent et curieux, je suis néanmoins à l'écoute des autres technologies du marché. MVP (Microsoft Most Valuable Professional) de 2007 à 2014, je suis également auteur d'un ouvrage pour apprendre le C#, à destination des débutants et de plusieurs MOOCs sur le C#, Windows Phone ou ASP.NET MVC...

.NET CORE est la nouvelle plateforme de développement open source et cross plateforme de Microsoft. Même si Microsoft ne recommande pas forcément de migrer vos applications existantes vers .NET CORE dès maintenant, vous pouvez être tentés de découvrir dans quelle mesure une éventuelle migration pourrait être un effort important. Et pour cela, je vais vous présenter ici deux outils qui vont vous permettre de vous aider lors d’une migration vers .NET CORE.

 

Installer l’extension Visual Studio « .Net Portability Analyzer »

 

Cette extension Visual Studio est très simple à installer et permet d’effectuer une analyse de vos projets afin de déterminer leur compatibilité avec .NET CORE.

Installez l’extension en allant dans le menu Tools => Extensions and updates :

 

 

Vous pouvez maintenant démarrer l’analyse en faisant un clic droit sur un projet => analyze => Analyze assembly portability :

 

 

Vous obtenez alors un rapport de portabilité avec un pourcentage de code non compatible ainsi qu’une liste des API non compatibles, avec parfois une suggestion de changement :

 

 

 

Analyse des dépendances

 

Une fois cette analyse faite, vous devez traiter vos dépendances à des bibliothèques tierces. Rendez-vous sur https://icanhasdot.net afin de faire une analyse de vos dépendances NuGet. Ce site nous offre la possibilité d’uploader nos packages.config afin de savoir s’ils sont supportés sur .NET CORE, s’il y a des remplaçants, etc. :

 

 

Dans ce graphe, les not-found sont des bibliothèques internes. Et vous avez en dessous des infos complémentaires pour savoir comment remplacer les packages :

 

 

Et c’est plutôt intéressant de voir que beaucoup de bibliothèques tierces ont déjà migrés sur .NET CORE (Newtonsoft.Json, Autofac, etc.). Par contre, il va falloir faire quelque chose pour log4Net…

 

Conclusion

 

Nous avons vu dans ce billet deux petits outils très simples et très pratiques qui vont vous aider dans vos migrations vers .NET CORE. Maintenant, il n’y a plus qu’à :).

Commentaires