Chocolatey 是 Windows 安裝軟體無人值守的好幫手,在 https://community.chocolatey.org/packages 搜尋你想要的軟體執行安裝語法即可,在 Chocolatey 上的軟體則都是正版,下載路徑來源也都是來是各軟體原廠,所以可以安心服用
WIndows 套件管理工具 - Chocolatey 配置與安裝
- 6169
- 0
- Windows Package Management
- 2021-08-25
Chocolatey 是 Windows 安裝軟體無人值守的好幫手,在 https://community.chocolatey.org/packages 搜尋你想要的軟體執行安裝語法即可,在 Chocolatey 上的軟體則都是正版,下載路徑來源也都是來是各軟體原廠,所以可以安心服用
當有一個介面(抽象),有多個實作(細節),在 Autofac 和 Unity 預設都有相關的解決方案,可以注入到屬性、方法、建構函數,這都需要使用特殊的 Attribute 來描述參數,比如 Autofac 的 [KeyFilter]、Unity 的 [Dependency],這將會讓你的物件變得不單純,必須要特殊的用法才會工作,接下來我會分享實作的方式,要怎麼選就看你了
之前有介紹過 ReportGenerator,支援多種 Code Coverage 測試涵蓋率套件

今天要來介紹 Coverlet,他除了支援 Azure DevOps 的 ReportGenerator 輸出 html,還可以整合 VS IDE 的 Fine Code Coverage,不論是開發還是 CI 自動化都兼顧到了
本以為 Jetbrains Rider 連結 Sql Server Localdb 很簡單,沒想到還是踩了個小坑,簡單紀錄一下。
Jetbrains 系列的 IDE 都可以在開發的時候都可以擁有 SQL Intellisense,這將替我們解省掉打字所造成的除錯時間,Database Connection Windows 提供更方便的介面讓我們觀察資料庫的狀態,可以 CRUD(別直接用線上資料庫)、觀察執行計畫。
.NET Core 1.0 開始為了跨平台重新改寫了 SQLite,名為 Microsoft.Data.Sqlite,刪除了過時的 DataTable 和 DataAdapter 相關的 DataSet API,這已經和之前的 System.Data.SQLite 不一樣,但團隊還是盡量讓它們兩者的 API 變化降到最低。這裡有官方的比較說明文件 與System.Data.SQLite的比較-Microsoft.Data.Sqlite | 微軟文檔
當我們要針對商業邏輯測試時,可能需要隔離 EFCore DbContext,搭配 Mock Framework 可以快速地建立測試替身假的 DbContext,自從 EF Core 的 In-Memory 出現之後,建立 DbContext 測試替身這件事,就變得輕鬆許多了
秘密管理員工具,預設會在專案的開發期間儲存機密資料,絕對不要將密碼或其他敏感性資料儲存在原始程式碼中,機密資料不應與應用程式一起部署。應該透過像是環境變數或 Azure 金鑰保存庫等受控方式來存取生產秘密。 您可以透過 Azure Key Vault 設定提供者 儲存及保護 Azure 測試與生產祕密。
Microsoft.Extensions.Hosting.WindowsServices 實作 IHostLifetime,可以讓我們輕鬆地將 Console 應用程式掛載在 Windows Service,在實作的過程當中,發現控制服務不是那麼的友善。
於是想起了 Topshelf,便找到了 Topshelf.Extensions.Hosting,它除了可以使用原本的 Host 生命週期,DI Container 注入方式,還可以享有 Topshelf 自我管理 Windows Service 的功能。
.NET Generic Host 是 .NET Core 發展出來的基礎建設,可以和其他類型的 .NET 應用程式搭配使用例如背景服務的主控台應用程式,Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder 靜態方法,它來自於 Microsoft.Extensions.Hosting.dll,主要用來提供應用程式一個標準的啟動,包含注入、紀錄、組態,不同的應用程式框架 (HostService) 有不同的預設啟動設定,.NET Generic Host 讓我們的應用程式的生命週期的控制,啟動到結束的撰寫方式統一了。