設置 .NET 開發環境


自 .NET Core 發布以來,.NET 開發人員已經能夠使用 C# 等語言為 GNU/Linux 開發應用程序。 如果您是一位希望使用 Fedora Linux 作為主要工作站的 .NET 開發人員,請閱讀本文。 我們將向您展示如何為 .NET 設置完整的 Fedora Linux 開發環境,包括 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

接下來,安裝 Microsoft 的 C# 擴展。

就這樣。

JetBrains 騎士

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

小工具箱窗口可能需要幾秒鐘或幾分鐘才能打開,具體取決於您的系統和互聯網連接。然後您可以刪除下載的文件。您可以從“應用程序”菜單打開 JetBrains 工具箱,AppImage 會將應用程序安裝到 ~/.local/share/JetBrains。

JetBrains 工具箱JetBrains 工具箱

騎士

在您的 JetBrains 工具箱中,搜索 Rider 應用程序並單擊[インストール]點擊。如果您想更改安裝位置或其他選項,請先檢查您的設置(右上角)。

安裝後,打開 Rider。您將看到的第一個屏幕是向 JetBrains 團隊發送匿名統計信息的選項。你可以在那裡選擇任何你喜歡的。 第二個是導入設置。如果您以前從未使用過 Rider,[設定をインポートしない]點擊[OK]點擊。之後,系統會要求您選擇主題和鍵盤映射。選擇你覺得更舒服的東西。在所有其他屏幕上,直到出現許可證窗口。[次へ]點擊。如果您購買了授權,請輸入您的JB賬號或相應信息。如果你想使用試用期,切換到免費評估和[評価]點擊。在左側面板中[プラグイン]對部分中的 dotCover 和 dotTrace 執行相同的操作。下一個,[続行]點擊。

而已!騎手現已安裝。所選選項將出現在初始屏幕上。[構成]->[設定]或編輯的[ファイル]->[設定]可以改變。

Azure 函數和 Azurite

為了能夠開發 Azure Functions,您需要安裝 azurite 節點包。 azurite 包允許您模擬某些類型的 Azure Functions 所需的存儲。

npm install -g azurite

您可以閱讀有關 Azurite 及其使用方法的更多信息 這裡.

視覺工作室代碼

要使用 VSCode 開發 Azure Functions,您還需要安裝 azure-functions-core-tools 包。目前最新版本是v3。查看 這裡 查找有關如何使用該工具的最新版本和詳細信息。 如果要安裝 v3,請運行 npm i -g。 [email protected] –unsafe-perm true 如果你想安裝 v2 運行 npm i -g [email protected] –unsafe-perm 真。

然後只需安裝 Microsoft 的 Azure Functions 擴展。安裝擴展後,您可以通過導航到左側面板中的 Azure 圖標,從模板創建新的 Azure 函數。

JetBrains 騎士

Rider 要求您先安裝 Azure Toolkit for Rider 插件。安裝插件後,重啟IDE。下一個,[設定]->[ツール]->[Azure]->[機能]去。 如果您想自己手動管理 azure-functions-core-tools,請按照 Visual Studio Code 部分中的說明安裝包,然後手動指定 Azure Functions core-tools 路徑。否則,如果您希望 Rider 自動處理更新和包,[最新バージョンをダウンロード…]點擊[起動時に Azure Function Core ツールの更新プログラムを確認する]確保選擇了該選項。

下一個,[ツール]->[Azure]->[Azurite]去[Azurite パッケージ パス]在下拉列表中,選擇您的 Azurite 安裝。 它應該類似於 ~/.nvm/versions/node/v14.16.1/lib/node_modules/azurite。

[保存]單擊即可創建 Azure 函數。[新しいソリューション]單擊以查看菜單中的 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 - -out localhost.pfx -inkey localhost.key -in localhost.crt

最後,編輯您的 ~/.bashrc 文件並添加以下環境變量:

cat << EOF >> ~/.bashrc
# .NET
 ASPNETCORE_Kestrel__Certificates__Default__Password="PASSWORD"
 ASPNETCORE_Kestrel__Certificates__Default__Path="/home/YOUR_USERNAME/.certs/localhost.pfx"
EOF

請記住將 PASSWORD 替換為您的實際密碼,將 YOUR_USERNAME 替換為您的實際用戶名。

重新啟動您的系統(還有其他方法可以做到這一點,但重新啟動是最簡單和最快的方法)。而已! 您現在可以通過 https 使用 .NET 在 Fedora Linux 系統上進行開發。