.NET ("dotnet")
.NET is a free and open-source, managed computer software framework. It is a cross-platform successor to .NET Framework and released under the MIT License.
Native FreeBSD .NET binary releases are available, with additional work taking place in third-party repositories to resolve issues, produce and test Native and Linux Emulated FreeBSD .NET binaries with the goal to merge FreeBSD .NET Support upstream.
.NET on FreeBSD
Goals
- Reliably produce FreeBSD .NET binaries on an ongoing basis, and fix blocking issues and report/resolve upstream. Status:In-Progress
- Assist upstream getting native FreeBSD .NET built, tested (CI) and binary packages produced on an on-going and official basis. Status: In-Progress
- Create FreeBSD Ports from source (natively) for all .NET components and produce official packages for supported architectures. Status: Not Started
Upstream FreeBSD .NET Support
Get Involved!
Developers and users can help in the following ways:
- Test .NET FreeBSD Binary Releases on your systems, provide feedback and report bugs to maintainers.
- Test building .NET FreeBSD Binaries yourself, provide feedback and report bugs to maintainers.
- Work with and help upstream to resolve issues to get native builds running and tested continuously.
- Create a proof of concept FreeBSD Port that builds .NET from source using an existing bootstrap cli binary
Building .NET on FreeBSD
This section documents maintained efforts to progress .NET FreeBSD support. Developers and users are encouraged to test and provide feedback on these releases, report bugs, and provide improvements to the builds.
Notably, building .NET requires an existing and working dotnet cli SDK to bootstrap the build, as mentioned in the Workflow Guide: FreeBSD Requirements documentation below.
Producing this binary natively for FreeBSD is the aim of upstream issue #1139 mentioned above.
Until native bootstrap .net cli is available officially from upstream, FreeBSD .NET builds can be produced using either:
- Cross-build under Linux Emulation
- Natively, using dotnet cli binary built on FreeBSD under Linux Emulation.
Upstream Documentation
- github: dotnet/runtime: .NET Workflow Guide
- github: dotnet/runtime: Workflow Guide: FreeBSD Requirements
Cross-build under Linux Emulation
- GitHub: Thefrank/dotnet-freebsd-crossbuild: Instructions for building dotNET for FreeBSD
Native build using Linux bootstrap binary
- GitHub: sec/dotnet-core-freebsd-source-build: Collection of script to build .NET Core under FreeBSD
- Uses bootstrap binaries from Thefrank
.NET FreeBSD Binary Releases
The above GitHub (thefrank and sec) projects produce .NET FreeBSD Release Binaries:
FreeBSD .NET Runtime Nightly Builds
Earlier and Other Work
This section documents earlier work that may continue to prove useful as references.
- GitHub: jasonpugsley
- Radarr Project – Ships FreeBSD .NET binaries
- Radarr CI workflow to build FreeBSD binaries using Azure Pipelines.
.NET Framework Ports
.NET Framework 2.x
.NET Framework 1.1
.NET Framework 1.0