Visual Studio 生產環境配置方案:SlowCheetah

Shayne Chow發表於2022-07-16

原文

簡介

SlowCheetah 能滿足不同模式下編譯產生不同 app.config 配置的需求,已被微軟納入麾下,支援XML,JSON格式。

下面我們用XML的格式來試試如何使用SlowCheetah,JSON方式暫未研究。

安裝

  1. nuget 安裝 SlowCheetah,選擇微軟Microsoft那個

  2. 開啟 vs 擴充套件商店安裝外掛 SlowCheetah

使用

  1. 右鍵 app.config 檔案,選擇 Add Transform,產生各個編譯模式的 app.config 變體檔案

    選擇 Add Transform
    選擇 Add Transform

    產生變體檔案
    產生變體檔案

  2. 新增兩個配置項做測試,一個使用者配置,一個應用程式配置
    Settings 檔案
    Settings 檔案

    App.config 檔案
    App.config 檔案

  3. 修改 App.Release.config。將 App.config 裡的配置資訊複製過去,增加 xdt:Transform="Replace" xdt:Locator="Match(name)” 表示找到 name 相同的xml節點,替換原值value

    更多xml語法參考 http://go.microsoft.com/fwlink/?LinkId=214134

  4. 預覽異同。右鍵 App.Release.config ,選擇 Preview Transform。預覽你編寫的Release配置是否正確生效
    選擇 Preview Transform
    選擇 Preview Transform

    檢視異同
    檢視異同

  5. 好了,切換 Release 模式編譯試試吧

要修改的配置在引用的專案裡怎麼辦?

例如下方這個專案引用了一個Device的專案,直接右鍵Device的app.config檔案新增變體,在編譯主專案時,Device 裡的變體是無效的。

對比最終編譯出的 app.config,可以發現需要插入一些節點,於是有了以下方案

  1. 插入一條 name 為 Device.Properties.Settings 的 section 節點
  2. 插入一條 Device.Properties.Settings 節點
  3. 注意 xdt:Transform="Insert” 屬性表示該位置插入一個節點

相關文章