The release of .NET Core to the open source community has been met with much applause and is a very active project on GitHub. When it debuted, Microsoft stated that they would be supporting the big 3 platforms: Windows, OS X, and Linux. They expressed hope that the community would assist in spreading this to additional platforms. The first step towards this goal has been realized with the announcement that .NET Core is now running on FreeBSD.
While the addition of FreeBSD contains some rough edges, this step in expanding the supported base is a good sign as it should lower the bar to porting to additional platforms by reducing non-portable code. It also shows that the community continues to respond in a positive way to compliment Microsoft’s ongoing work.
Some limitations remain, which prevent it this from being a complete first class citizen. First, the project does not yet support building managed code on FreeBSD. This means interested developers will need a Windows machine capable of building the project to help bootstrap .NET Core on FreeBSD. The Windows machine will need to acquire clones of both .NET Core and CoreFX projects. The Windows PC will produce the various framework DLLs that can be then copied over to a FreeBSD instance.
Once those assemblies are transferred, there remains a few more steps to complete on the FreeBSD side of things. Mono should be installed so that it can be used to run NuGet and acquire a few more dependencies needed by the project. The installation guide notes that these assemblies “…are presently just facades that point to mscorlib
”.
At this point once those requirements are obtained the FreeBSD machine is ready to run .NET applications. The last limitation is that presently there is not a compiler part of .NET Core, so the Mono compiler mcs
will have to be used. The team notes that Roslyn’s C# compiler will be “available soon”.