Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== .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 [[#releases|binary releases]] are available, with additional work taking place in third-party repositories to resolve issues, produce and test [[#building|Native and Linux Emulated FreeBSD .NET binaries]] with the [[#goal|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**:[[#building|In-Progress]] - Assist upstream getting native %%FreeBSD%% .NET built, tested (CI) and binary packages produced on an on-going and official basis. **Status**: [[#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 ==== * [[https://github.com/dotnet/source-build/issues/1139|dotnet/source-build: GitHub Issue #1139: Building the .NET Core SDK on FreeBSD]] * [[https://github.com/dotnet/runtime/issues/14537|dotnet/runtime: GitHub Issue #14537: Support for FreeBSD]] * [[https://github.com/dotnet/runtime/issues/71338|dotnet/runtime: GitHub Issue 71338: Support for FreeBSD arm64]] ==== Get Involved! ==== Developers and users can help in the following ways: * Test [[#releases|.NET FreeBSD Binary Releases]] on your systems, provide feedback and report bugs to maintainers. * Test [[#building|building .NET FreeBSD Binaries]] yourself, provide feedback and report bugs to maintainers. * Work with and help [[#status|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 [[#releases|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 [[#documentation|Workflow Guide: FreeBSD Requirements documentation]] below. Producing this binary natively for %%FreeBSD%% is the aim of [[https://github.com/dotnet/source-build/issues/1139|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: [[https://github.com/dotnet/runtime/tree/main/docs/workflow|.NET Workflow Guide]] * github: dotnet/runtime: [[https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/freebsd-requirements.md|Workflow Guide: FreeBSD Requirements]] ==== Cross-build under Linux Emulation ==== * GitHub: Thefrank/dotnet-freebsd-crossbuild: [[https://github.com/Thefrank/dotnet-freebsd-crossbuild/|Instructions for building dotNET for FreeBSD]] * [[https://github.com/Thefrank/dotnet-freebsd-native-binaries|Repository containing .NET FreeBSD binaries]] ==== Native build using Linux bootstrap binary ==== * GitHub: sec/dotnet-core-freebsd-source-build: [[https://github.com/sec/dotnet-core-freebsd-source-build|Collection of script to build .NET Core under FreeBSD]] * Uses bootstrap binaries from Thefrank * [[https://github.com/sec/dotnet-core-freebsd-source-build/releases|FreeBSD .NET Release Binaries (.NET 6 and 7)]] ==== .NET FreeBSD Binary Releases ==== The above GitHub (thefrank and sec) projects produce .NET %%FreeBSD%% Release Binaries: * [[https://github.com/Thefrank/dotnet-freebsd-crossbuild/releases|github.com: thefrank: FreeBSD .NET Release Binaries (.NET 5, 6 and 7)]] * [[https://github.com/sec/dotnet-core-freebsd-source-build/releases|github.com: sec: FreeBSD .NET Release Binaries (.NET 6 and 7)]] ==== FreeBSD .NET Runtime Nightly Builds ==== * https://github.com/Thefrank/freebsd-dotnet-runtime-nightly ((https://github.com/dotnet/runtime/issues/14537#issuecomment-1356894344)) ===== Earlier and Other Work ===== This section documents earlier work that may continue to prove useful as references. * GitHub: jasonpugsley * [[https://github.com/jasonpugsley/installer/wiki/.NET-Core-3.1.103-for-FreeBSD|Instructions to build .NET Core 3.1.x on FreeBSD]] * [[https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-freebsd-x64.tar.gz|windows.net: dotnet/Sdk/master/dotnet-sdk-latest-freebsd-x64.tar.gz]] * Radarr Project -- Ships %%FreeBSD%% .NET binaries * See [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259194|FreeBSD Bugzilla Issue #259194: net-p2p/radarr: Switch to upstream .NET binary release]] * [[https://github.com/Radarr/Radarr/blob/main/azure-pipelines.yml|Radarr CI workflow to build FreeBSD binaries]] using [[MicrosoftAzure|Azure]] Pipelines. ==== .NET Framework Ports ==== .NET Framework 2.x * [[https://www.freshports.org/lang/linux-dotnet-cli/|lang/linux-dotnet-cli: Cross-platform .NET implementation]] * [[https://www.freshports.org/lang/linux-dotnet-runtime/|lang/linux-dotnet-runtime: Cross-platform .NET implementation (Runtime)]] * [[https://www.freshports.org/lang/linux-dotnet-sdk/|linux-dotnet-sdk: Cross-platform .NET implementation (Software Development Kit)]] .NET Framework 1.1 * [[https://www.freshports.org/lang/linux-dotnet11-runtime/|lang/linux-dotnet11-runtime: Cross-platform .NET implementation (Runtime)]] * [[https://www.freshports.org/lang/linux-dotnet11-sdk/|linux-dotnet11-sdk: Cross-platform .NET implementation (Software Development Kit)]] .NET Framework 1.0 * [[https://www.freshports.org/lang/linux-dotnet10-runtime/|lang/linux-dotnet10-runtime: Cross-platform .NET implementation (Runtime)]] net.txt Last modified: 2022/12/19 20:59by KubilayKocak