460407 (4) [Avatar] Offline

We are facing some compatibility issues with F# for our project and we would like you to give us some suggestions on it.

As per Microsoft msdn, it states that F# support for .Net core 1.0 and 1.1 is supported in Visual Studio 2017 Preview RC(Release Candidate). Also Visual Studio 2017 doesn't have F# support for .Net Core Visual Studio tooling. You can go through the link below which says that.


So my first question is that is it correct? So we can't use F# tooling with .Net core going forward in Visual Studio 2017 due to some breaking changes there because as per your book "Learn F# MEAP" F# is compatible with all the upcoming web technologies. So got confused there.

Also I want your suggestion upon the licensing issue. Our team is currently running on open-source and have not bought any VS licenses. Since there are breaking changes in F# in VS 2017 we have to move back to VS 2015/2013. But we are running VS community edition so the VS community license is no more valid for us to use 2015/2013 edition. In that case what would you suggest us? Should we buy a professional or enterprise license of VS 2015/2013 for F# to work for our project?

Rajat Agrawal
Technical Architect, flo software
Isaac Abraham (107) [Avatar] Offline

F# is definitely supported on .NET Core and there are many links you can see to find out more. In fact, the link you give shows that F# does run on .NET Core.

However, my understanding (and I'm no expert here) is that the *current version* of .NET Core has some limitations which means that some features of F# aren't yet supported, such as Type Providers. In addition, the *tooling* in VS2017 for .NET core projects isn't yet fully supported (although it's being actively worked on).

This isn't just a problem that F# faces - C# and VB .NET have had issues with tooling on .NET Core (particularly with earlier versions), and again, the situation is being actively worked upon.

.NET Core is an important part of Microsoft's strategy and F# can (and will continue) to run on .NET Core. It's simply that the tooling is Visual Studio 2017 for F# and .NET Core isn't quite there yet. You can continue to create .NET "Full" projects on VS2017 without a problem.