2012-10-03 57 views
2

我目前正在尋找管理app.config文件的方法。我目前有多個版本的相同軟件在不同的環境中運行,其中每個軟件都使用特定版本的app.config文件。用戶在進行配置更改時經常會出錯,並且很難驗證當前配置文件對於特定版本的軟件是否正確。當軟件更新時,用戶(可能不知道新版本軟件中的每個配置更改)都手動編輯app.config文件。 我相信可能有更好的做法,但我堅持使用app.config文件/手動編輯現在(隨意分享更好的方法進行配置處理,但爲了將來參考)app.config配置管理 - C#,.net

我的計劃是設計一個爲每個軟件版本(使用XSD.exe)自動創建app.config xml模式文件的工具,並檢測用戶配置文件中可能的錯誤/錯誤(或者嘗試建議正確的值)。當這一點到位時,我正在尋求實施嚮導來幫助用戶更新/安裝新版本的軟件。

我的問題是,有沒有現有的工具可以做類似的工作?我的谷歌搜索不會產生任何結果;或者,有沒有更好的方法來解決這個問題?

+0

爲什麼試圖驗證/修復配置文件相比更容易在第一時間加入了適當的設置窗口(帶內置值的驗證,他們被寫入之前)來實現? –

+1

我認爲這個問題/答案會幫助你。 http://stackoverflow.com/questions/3004210/app-config-transformation-for-projects-which-are-not-web-projects-in-visual-stud –

+0

Aj //長話短說。 GlennFerriveLive //謝謝! –

回答

1

我想你應該看看配置轉換。其基本思想是爲配置數據的每個排列定義不同的解決方案配置,然後在構建/部署時爲自己的部署環境自動注入正確的值。

這最常用於環境隔離,即DEV,TEST,PROD。在Web應用程序中,您將爲每個環境定義一個解決方案配置,然後爲每個配置添加一個配置轉換,這意味着您將從具有單個web.config的web.DEV.config,web.TEST.config和一個web.PROD.config

現在我知道你沒有在Web應用程序上工作,所以配置轉換工具原生作爲Visual Studio的一部分運行將無法工作。

然而,有一個名爲SlowCheetah的神話般的擴展,它將配置轉換的力量帶到了任何類型的配置中。

http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5

+0

您還可以通過使用項目文件的msbuild進行一些修改來手動獲取在非ASP .NET項目上的轉換。請注意,轉換隻會在您創建時發生,而不僅僅是在發佈時發生。 –

+0

謝謝,我一定會研究這個! –