自 .NET Core 發布以來,.NET 開發人員已經能夠使用 C# 等語言開發適用於 GNU/Linux 的應用程序。如果您是一名考慮使用 Fedora Linux 作為主要工作站的 .NET 開發人員,那麼本文適合您。 演示如何設置完整的開發環境 Fedora Linux for .NET,包括 IDE/文本編輯器、Azure Functions 和用於安全 https 站點的 SSL 證書。文本編輯器和 IDE 中有幾個選項,但這裡我們將討論 Visual Studio Code 和 Rider。最後一個不是免費的,但對於熟悉 Windows 上的 Visual Studio 的任何人來說,它都是一個不錯的選擇。
安裝 .NET SDK
直到最近,通過 dnf 安裝 dotnet 還需要源列表中的 Microsoft 存儲庫。但情況已不再如此。 Fedora 已將 dotnet 包添加到存儲庫中,因此安裝非常容易。如有必要,使用以下兩個命令安裝最新的 dotnet(當前為 .NET 5)和之前的(.NET Core 3.1)。
sudo dnf install dotnet sudo dnf install dotnet-sdk-3.1
而已!比以往任何時候都容易!
安裝 Node.js
如果要開發 Azure Functions 或使用 Azurite 模擬存儲,則需要安裝 NodeJS。最好的方法是先安裝 nvm,這樣你就可以在你的用戶空間安裝 NodeJS。這意味著您可以在不使用 sudo 的情況下安裝全局包。
要安裝 nvm,請執行以下操作: 這些說明 獲取最新版本。截至今天,最新版本為 0.38。檢查 github 站點以獲取有關最新版本的說明。
sudo dnf install curl curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
安裝 nvm 後,運行 nvm install lts / * 以檢查是否要安裝最新的 LTS 版本的節點。 這裡 更多選擇。
安裝 .NET IDE
視覺工作室代碼
查看 本指南 截至今天,安裝 Visual Studio Code 的過程是導入 Microsoft 密鑰、添加存儲庫並安裝適當的包,以防發生變化。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]nname=Visual Studio Codenbaseurl=https://packages.microsoft.com/yumrepos/vscodenenabled=1ngpgcheck=1ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' sudo dnf check-update sudo dnf install code
然後安裝微軟的 C# 擴展。
差不多就是這樣。
Jet Brains 之夜
JetBrains 工具箱
如果您在 Windows 上使用 Visual Studio,您會更熟悉此工具。它不是免費的,但在您購買許可證之前,請在 30 天內試用,看看您是否喜歡它。你可以檢查 這裡 請聯繫我們。
有多種安裝 Rider 的方法,但最簡單和最乾淨的方法是安裝 JetBrains Toolbox,以便您可以管理您的安裝。要安裝,請轉到 這個鏈接 單擊下載按鈕。 確保選擇了 .tar.gz 選項。
如果您熟悉 UI,請在桌面環境(nautilus、dolphin 等)中使用文件資源管理器,導航到下載文件的目錄,右鍵單擊文件,然後提取其內容。然後進入解壓後的目錄,右擊jetbrains-toolbox文件,[プロパティ]點擊。[権限]選項卡[プログラムとしてファイルの実行を許可する]確保選中該複選框並關閉屬性窗口。然後雙擊 jetbrains-toolbox 文件。
如果您在使用 DE 時遇到問題,或者您想使用控制台,請打開終端並切換到您下載文件的目錄。然後解壓文件內容,切換到解壓後的目錄,給AppImage添加執行權限並運行。我用的版本號可能和你的不一樣,所以 標籤 為避免錯誤,請按 鍵而不是使用複制和粘貼。
tar -xzvf jetbrains-toolbox-1.20.8352.tar.gz cd jetbrains-toolbox-1.20.8352 chmod +x jetbrains-toolbox ./jetbrains-toolbox
這可能需要幾秒鐘或幾分鐘才能打開小部件框窗口,具體取決於您的系統和 Internet 連接。然後,您可以刪除下載的文件。您可以從應用程序菜單打開 JetBrains Toolbox。 AppImage 將應用程序安裝在 ~/.local/share/JetBrains 下。

騎士
在 JetBrains Toolbox 中,搜索 Rider 應用程序,然後[インストール]點擊。如果要更改安裝位置或其他選項,請先檢查設置(右上角)。
安裝完成後,打開 Rider。您看到的第一個屏幕是向 JetBrains 團隊發送匿名統計信息的選項。你可以在那裡選擇你喜歡的。 二是導入設置。如果您以前沒有使用過 Rider,[設定をインポートしない]單擊並[OK]點擊。然後將要求您選擇主題和鍵盤映射。選擇一種感覺更舒服的。[ライセンス]在每個其他屏幕上,直到窗口出現[次へ]點擊。如果您購買了許可證,請輸入您的 JB 帳戶或適當的信息。如果您想使用試用期,請切換到免費評級和[評価]點擊。在左側面板的插件部分對 dotCover 和 dotTrace 執行相同操作。下一個,[続行]點擊。
而已!現在已安裝 Rider。可以在初始屏幕上的配置-> 設置或編輯器中的文件-> 設置中更改所選選項。
Azure Functions 和 Azurite
為了能夠開發 Azure Functions,您需要安裝 azurite 節點包。 azurite 包允許你模擬特定類型的 Azure Functions 所需的存儲。
npm install -g azurite
您可以閱讀有關藍銅礦及其使用方法的更多信息 這裡..
視覺工作室代碼
若要使用 VS Code 開發 Azure Functions,還需要安裝 azure-functions-core-tools 包。目前最新版本是v3。查看 這裡 查找最新版本以及有關如何使用該工具的更多信息。 如果要安裝 v3,請運行 npmi -g [email protected] –unsafe-perm true 如果要安裝 v2,請運行 npmi -g [email protected] –unsafe-perm 為真。
接下來,您需要安裝 Microsoft 的 Azure Functions 擴展。安裝擴展後,您可以轉到左側面板中的 Azure 圖標,並從模板中創建一個新的 Azure 函數。
Jet Brains 之夜
Rider 要求您首先安裝 Azure Toolkit for Rider 插件。安裝插件後,重新啟動 IDE。下一個,[設定]->[ツール]->[Azure]->[機能]去。 如果要手動管理 azure-functions-core-tools,請按照 Visual Studio 代碼部分中的說明安裝包,然後手動指定 Azure Functions 核心工具的路徑。否則,如果 Rider 自動處理更新和包,[最新バージョンをダウンロード…]單擊並[起動時にAzureFunctionCoreツールの更新プログラムを確認する]確保該選項已打開。
下一個,[ツール]->[Azure]->[Azurite]去[Azuriteパッケージパス]在下拉菜單中,選擇安裝 Azurite。 它看起來像 ~/.nvm/versions/node/v14.16.1/lib/node_modules/azurite。
[保存]單擊即可創建 Azure Functions。[新しいソリューション]單擊以在菜單中顯示 Azure Functions 模板。
為您的 .NET 應用程序創建 SSL 證書
您不能信任 dotnet dev-certs https–trust 生成的 .NET 證書。此命令適用於 Fedora Linux。
本文不涉及 easy-rsa 的細節或 SSL 證書的概念。如果您想了解更多相關信息,請查看以下來源:
首先,安裝easy-rsa 工具。然後創建您自己的證書頒發機構 (CA),將系統配置為信任它,簽署證書,並配置 .NET 以使用它。
首先安裝軟件包並設置工作目錄。
sudo dnf install easy-rsa cd ~ mkdir .easyrsa chmod 700 .easyrsa cd .easyrsa cp -r /usr/share/easy-rsa/3/* ./ ./easyrsa init-pki
接下來,創建一個名為 vars 的文件,其中包含 CA 詳細信息。如果您知道自己在做什麼,請隨意更改這些值。
cat << EOF > vars set_var EASYRSA_REQ_COUNTRY "US" set_var EASYRSA_REQ_PROVINCE "Texas" set_var EASYRSA_REQ_CITY "Houston" set_var EASYRSA_REQ_ORG "Development" set_var EASYRSA_REQ_EMAIL "[email protected]" set_var EASYRSA_REQ_OU "LocalDevelopment" set_var EASYRSA_ALGO "ec" set_var EASYRSA_DIGEST "sha512" EOF
然後建立一個 CA 並信任它。運行第一個命令時,系統將提示您輸入 CA 名稱。 只需按 Enter,它將保持默認值。
./easyrsa build-ca nopass sudo cp ./pki/ca.crt /etc/pki/ca-trust/source/anchors/easyrsaca.crt sudo update-ca-trust
然後提出並簽署 CA 請求。運行最後一個命令後,鍵入 yes 並按 Enter。
mkdir req cd req openssl genrsa -out localhost.key openssl req -new -key localhost.key -out localhost.req -subj /C=US/ST=Texas/L=Houston/O=Development/OU=LocalDevelopment/CN=localhost cd .. ./easyrsa import-req ./req/localhost.req localhost ./easyrsa sign-req server localhost
然後將所有需要的文件放在一個公共目錄中並創建一個 pfx 證書。在最後一個命令之後,系統將提示您輸入密碼。請輸入您喜歡的內容。請務必記住您的密碼並保密。
cd ~ mkdir .certs cp .easyrsa/pki/issued/localhost.crt .certs/localhost.crt cp .easyrsa/req/localhost.key .certs/localhost.key cd .certs openssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crt
最後編輯~/.bashrc文件,添加如下環境變量:
cat << EOF >> ~/.bashrc # .NET export ASPNETCORE_Kestrel__Certificates__Default__Password="PASSWORD" export ASPNETCORE_Kestrel__Certificates__Default__Path="/home/YOUR_USERNAME/.certs/localhost.pfx" EOF
請記住將 PASSWORD 替換為您的真實密碼,並將 YOUR_USERNAME 替換為您的真實用戶名。
重新啟動系統(還有其他方法可以做到這一點,但重新啟動是最簡單和最快的方法)。而已! 您現在可以在 https 上使用 .NET 開發 Fedora Linux 系統。