.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.
The native port of .NET, dotnet, is supported on FreeBSD 13.x and 14.x for the amd64 architecture, with aarch64 support in progress. This port includes .NET runtime version 8, ensuring compatibility with the latest .NET applications.
Contents
.NET on FreeBSD
Goals
Create FreeBSD Ports from source (natively) for all .NET components and produce official packages for supported architectures. Status: Complete
Assist upstream getting native FreeBSD .NET built, tested (CI) and binary packages produced on an on-going and official basis. Status: In-Progress
Installing .NET from Ports
The new native port of .NET, currently available for the amd64 architecture (with aarch64 support in progress), brings .NET runtime version 8 to FreeBSD. Porting .NET to FreeBSD is a collaborative effort involving key contributors from the FreeBSD community. @arrowd maintains the .NET port, with significant contributions from @thefrank, Naram Qashat, and @sec. The team actively collaborates with the dotnet upstream project, including filing PRs on dotnet GitHub. Their combined efforts have been crucial in realizing .NET on FreeBSD.
To install the port
cd /usr/ports/lang/dotnet/ && make install clean
To add the package, run one of these commands:
- pkg install lang/dotnet
- pkg install dotnet
Where to Report Issues
For issues related to .NET on FreeBSD, file issues in the appropriate repository:
Report FreeBSD and Port issues hereFreeBSD Bugzilla (ports) We encourage you to read the documentation in the FreeBSD handbook on writing PRs.
Report dotnet issues here dotnet GitHub
Upstream FreeBSD .NET Support
dotnet/runtime: GitHub Issue 71338: Support for FreeBSD arm64
powershell/powershell: GitHub Issue 20041: WIP: Add platform support for FreeBSD
powershell/powershell-native: GitHub Issue 92: Fix FreeBSD build failures. Update tests for FreeBSD
powershell/powershell-native: GitHub Issue 92: Fix FreeBSD build failures. Update tests for FreeBSD
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 installing .NET FreeBSD from Ports yourself, provide feedback and report bugs to maintainers.
Work with and help upstream to resolve issues.
Upstream Documentation
github: dotnet/runtime: .NET Workflow Guide
Earlier and Other Work
This section documents earlier work that may continue to prove useful as references.
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:
github.com: thefrank: FreeBSD .NET Release Binaries (.NET 5, 6 and 7)
github.com: sec: FreeBSD .NET Release Binaries (.NET 6 and 7)
FreeBSD .NET Runtime Nightly Builds
https://github.com/Thefrank/freebsd-dotnet-runtime-nightly 1
GitHub: jasonpugsley
windows.net: dotnet/Sdk/master/dotnet-sdk-latest-freebsd-x64.tar.gz
- Radarr Project -- Ships FreeBSD .NET binaries
.NET Framework Ports
.NET Framework 2.x
lang/linux-dotnet-runtime: Cross-platform .NET implementation (Runtime)
linux-dotnet-sdk: Cross-platform .NET implementation (Software Development Kit)
.NET Framework 1.1
lang/linux-dotnet11-runtime: Cross-platform .NET implementation (Runtime)
linux-dotnet11-sdk: Cross-platform .NET implementation (Software Development Kit)
.NET Framework 1.0