Historically, Microsoft's proprietary software development framework, .NET Framework, has been officially available only on Microsoft systems. If you would need to run any .NET application, you would need Windows. If you would need to host ASP.NET-based website, you would need IIS.
However, as of 2015, Microsoft has embraced multi-platform availability and, instead of concentrating its effort on developing yet another version of .NET Framework, the company has decided to replace it with open-source .NET Core. With this new platform, developers would not be limited to Windows and IIS, as compilers and hosting environments for it have been made available on Linux and Mac.
Many 3rd party developers have jumped onto the .NET Core bandwagon almost as soon as its first official version has been released in August 2016. Utilising .NET Core in noteworthy software projects, such as IdentityServer, gave an impression to many that .NET Core is reliable platform to use. However, after spending some time with it, I came to the conclusion that this is not a tool that I would use any time soon; at least not in a commercial production environment.
The main reason why I would not use .NET Core is because, at the time of writing, the only officially supported IDE for it is recently released Visual Studio 2017 and it is incredibly glitchy. Both myself and my colleagues experienced issues of VS 2017 becoming unresponsive for no apparent reason, so it becomes impossible to get anything done without being constantly interrupted.
.NET Core was available on Visual Studio 2015 with Update 3, but the version that was available is no longer officially supported by Microsoft. The version that came with Visual Studio 2017 had some breaking changes introduced, so old .NET Core applications developed in VS 2015 will not work in VS 2017 without first going through a fairly unreliable migration process. The main change is reintroduction of XML-based project files compatible with MSBuild. MSBuild wasn't available on platforms other than Windows prior to VS 2017 release, so .NET Core was using newly introduced JSON-based project files that could be read by other compilers. As MSBuild was made platform-independent, Microsoft has decided not only to reintroduce support for its configuration files, but also to completely remove the support for JSON-based project files, just few month after this format was introduced in the first place.
What is interesting is that the version of .NET Core from VS 2015 will stop working even on VS 2015 if you ever had VS 2017 installed on the same system. This applies even if you have subsequently uninstalled VS 2017.
This is not the first time Microsoft has introduced breaking changes into its recently released software framework. For example, release 1.1 of .NET Core broke the apps based on release 1.0. Therefore it would not be surprising if any further breaking changes will be introduced into the platform any time soon.
Don't get me wrong. .NET Core is a brilliant idea. However, the platform is far from being mature. I will start using it when all critical issues in its IDE are fixed and Microsoft stops introducing breaking changes from one version to the next, accompanied by removing the support for previously developed features. However, for the time being, I am not willing to become a beta tester for Microsoft, so I'll give it a miss. .NET Framework will satisfy my needs while developing for Windows and, if I will ever need to work on other platforms, I will just use other well-established technologies that work well on that platform.
For more information, follow this link:
Published by Mobile Tech Tracker
Posted on 22 Mar 2017