2022年4月,基礎的執行時架構程式碼全部通過社群技術評審,。.NET國際開源社群正式宣佈支援LoongArch(龍架構),目前LoongArch64架構已出現在.NET社群主幹分支上。
.NET 是一個免費的跨平臺開源開發人員平臺,用於生成許多不同型別的應用。使用 .NET,可以使用多種語言、編輯器和庫來構建Web、移動、桌面、遊戲和IoT。此次LoongArch架構得到.NET開源社群原生支援,意味著LoongArch64架構.NET會隨著.NET開源社群同步發展,.NET開發平臺的軟體生態可以原生移植到LoongArch64平臺部署執行,LoongArch生態建設再次邁出堅實一步,為國際開源軟體發展注入中國自主創新源動力。
本文以.NETCore3.1在loongnix-server8.4下部署為例說明開發部署過程。
.NETCore3.1是基於上游社群.NETCore3.1-LTS-SDK製作的,同樣是LTS版本。
1、在龍芯開源社群下載安裝.net core環境
wget http://ftp.loongnix.cn/dotnet/3.1.11/la64/dotnet-sdk-3.1.11-rc1-loongarch64.rpm
2、環境安裝
rpm: #安裝: $sudo rpm -ivh dotnet-sdk-3.1.11-rc1-loongarch64.rpm # 檢視安裝結果 $ rpm -qa | grep dotnet dotnet-sdk-3.1.11-rc1.loongarch64 $ whereis dotnet dotnet: /usr/bin/dotnet /usr/share/dotnet /usr/share/man/man1/dotnet.1.gz #解除安裝: $sudo rpm -e dotnet-sdk-3.1.11-rc1.loongarch64
正常安裝後,設定如下:
[root@localhost opt]# dotnet --info .NET Core SDK (reflecting any global.json): Version: 3.1.111 Commit: a9538e031d Runtime Environment: OS Name: loongnix-server OS Version: 8 OS Platform: Linux RID: linux-loongarch64 Base Path: /usr/share/dotnet/sdk/3.1.111/ Host (useful for support): Version: 3.1.11 Commit: 02c4af85c9 .NET Core SDKs installed: 3.1.111 [/usr/share/dotnet/sdk] .NET Core runtimes installed: Microsoft.AspNetCore.App 3.1.11 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.11 [/usr/share/dotnet/shared/Microsoft.NETCore.App] To install additional .NET Core runtimes or SDKs: http://www.loongnix.cn/ Loongson's .NET version: 3.1.11-rc1
3、檢視版本資訊
dotnet --list-sdks 檢視執行時版本: dotnet --list-runtimes 詳細資訊: dotnet --info
4、dotnet core程式編譯
直接在windows系統進行通過vs編譯的dotnet core程式,無法指定CPU為龍芯平臺,所以需要將程式在龍芯平臺上編譯才可以進行。將程式拷貝到loongnix-server上,然後重新編譯即可。如果為解決方案專案,直接將整個專案全部拷貝,然後cd到主專案下直接編譯即可,編譯命令如下。
dotnet build
5、編譯成功後,程式在主目錄的/bin/.../下,直接執行即可
dotnet xxxxxx urls http://*:8088
相關連結:
龍芯dotnet core的nuget源:https://nuget.loongnix.cn/
龍芯開源社群dotnet core頻道:http://www.loongnix.cn/zh/api/dotnet/
龍芯dotnet core的github開源地址:https://github.com/dotnet/runtime/labels/arch-loongarch64
dotnet core runtime的github地址:https://github.com/dotnet/runtime/tree/main/src/coreclr/vm