After successful migration of our monitoring front-end, back-end and microservices to .NET Core 2.0 and .NET Standard 2.0, here is quick summary of this process.

Migration decision

Although we were very very satisfied with .NET Core 1.0, we decided for migration to newest version for following reasons:

  • bigger API and more libraries available (thanks to .NET Standard 2.0)
  • much easier to share common internal projects between .NET Core 2.0 and Full .NET Framework on Windows (.NET Framework 4.6.1 and newer)
  • security and performance improvements

Issues

We started official migration from .NET Core 1.0 as soon as Microsoft released RTM version of .NET Core 2.0 and Visual Studio tooling. Entire process went quite smoothly and without major issues. We followed official instructions published on Microsoft Docs (very useful).

During migration, most time was spent for resolving NuGet conflicts and we also encountered one runtime problem with Entity Framework Core 2.0 - we resolved this by doing simple workaround and rewriting this one problematic query. Everything else was - perfect!

Results

Our migrated solution is now deployed on Windows and Linux production servers and everything runs without any issues. Improvements on web front-end are very noticeable (Kestrel, compiled MVC views, smaller deployments). Mission accomplished!

Thanks to Microsoft and all open source contributors for making such a great product!