.NET Core / .NET Fx 應用程式如何在開發環境使用環境變數

組態設定除了存放在 IO 檔案之外,存放在作業系統的環境變數則是選項之一,NET 提供 System.Envrionment.GetEnvironmentVariable、System.Environment.SetEnvironmentVariable 讓開發人員輕鬆的存取作業系統的環境變數,但是,開發一個應用程式就要動到作業系統的環境變數,還是挺麻煩的;要讓機密性的資料不上版控,還是會需要付出一些額外的成本,這是跑不掉的。

這一篇則是為了要紀錄了幾種在開發環境(VS IDE、Rider)下可以取得環境變數的方式而且不用動到程式碼。

...繼續閱讀 »

[.NET 6] 如何優雅(Gracefully Shutdown)的關閉 .NET Core Console 應用程式

當有一個應用程序被用戶 ( SIGINT /Ctrl+C) 或 Docker ( SIGTERM / docker stop ) 停止時,它需要優雅地關閉一個長時間運行的工作;換句煥說,當應用程式收到關閉訊號的時候,要把工作做完,應用程式才可以關閉。微軟的 Microsoft.Extensions.Hosting 可以幫我們接收/處理關閉訊號,我們只需要告訴它要怎麼做就可以了,我在實作的過程當中,碰到了一些問題,以下是我的心得

...繼續閱讀 »

如何使用 Rider 的暫存

我們很常在開發的過程當中,切換工作,這時很有可能會切換分支,這時候可以利用 git 的 Stash 或是 Rider 的 Shelve 來暫停目前的開發,下次切換回來的時候,就可以繼續尚未完成的開發工作。

TFVC 也有提供擱置(Shelve),是將檔案放到遠端伺服器,Rider 則是放在本地端。

...繼續閱讀 »

如何在 Jetbrains Rider 套用 editorconfig

在同一個團隊裡面每個人的開環境和習慣都不太一樣,IDE 的選擇也玲瑯滿目,也很難硬性規範團隊使用特定的環境跟 IDE。我們會面臨到 IDE 程式碼編排風格的問題,這時候 Editor Config 就是統一不同 IDE 程式碼格式的套件,只要在你的專案資料夾加入 .editorconfig 並配置好程式碼的編排風格,比如像是縮排、tab 的寬度以及 EOL 字元,只要確定編輯器所安裝的套件認得 .editorconfig 這支檔案就會自動套用了。

...繼續閱讀 »

在 Windows 使用本機 Gitlab Runner + Shell Executor 跑 Gitlab CI / CD 腳本

以往我在跑 Azure DevOps 跑 CI 腳本的時候,會把 CI 腳本放到 Server 上面執行,每次都需要透過 Azure DevOps 線上觸發/運行過一遍才能知道  CI 腳本是否有問題 ;gitlab runner 提供了一種機制,讓我們先在本地端執行,確定腳本沒有錯誤再放到 gitlab Server 上面執行,大幅降低 CI 腳本的除錯成本。

...繼續閱讀 »