設置您的 .NET 開發環境 – Linux 技術博客


自 .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 /* 為 node 安裝最新的 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

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

JetBrains 工具箱JetBrains 工具箱

騎士

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

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

而已!現在已安裝 Rider。所選選項顯示在初始屏幕上。[構成]->[設定]或編輯的[ファイル]->[設定]可以更改。

Azure Functions 和 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 true 。

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

JetBrains 騎士

Rider 要求您首先安裝 Azure Toolkit for Rider 插件。安裝插件後,重新啟動 IDE。下一個,[設定]->[ツール]->[Azure]->[機能]去。 如果要自行手動管理 azure-functions-core-tools,請按照 Visual Studio 代碼部分中的說明安裝包,然後手動指定 Azure Functions 核心工具路徑。否則,如果您希望 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 -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 替換為您的實際用戶名。

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