Migrate 3rd Party Libs

One of the biggest challenges when migration a .NET Framework application to .NET Core is often the 3rd party libraries used by the application. While more and more libraries are supporting .NET Core as time goes along, there’s still a substantial amount of existing libraries used in today’s applications which need to be upgraded or replaced.

Netstandard

It’s recommended that when evaluating the applicability of third party libraries that first and foremost these libraries have been built targeting some version of netstandard 1-6. .NET Standard is a set of API definitions independant of .NET Core and the .NET Framework that both implement at some level. This allows library maintainers to simultaneously support both .NET Core and the .NET Framework without needing to recompile or redistribute. This is required because if an application is targeted to run on .NET Core on Linux it cannot have any dependencies on any libraries that require the full .NET Framework on Windows.

3rd Party Libs

In addition to libraries supporting netstandard you need to make sure the libraries are actively maintained and in use in production by other consumers. Because of the modular nature of .NET Core, this involves the approval of a large number of libraries, much more than with previous versions of the .NET Framework.

1st Party Libs

If you are looking to analyze first party libraries (libraries developed in-house, to which you have the source code), then you will want to check out the recipe on using the API Port tool to evaluate how much of the code in the existing library might be easily ported to core: Using APIPort to Analyze Legacy Code.

For additional reference, check out this article written by Microsoft - Porting to .NET Core - Analyzing Dependencies