我已經將多個app.config(每個都有一個不同的名稱)文件添加到項目中,並將它們設置爲複製到每個構建的輸出目錄。ConfigurationManager.OpenExeConfiguration - 加載錯誤的文件?
我試着訪問每個文件的使用該內容:
System.Configuration.Configuration o = ConfigurationManager.OpenExeConfiguration(@"app1.config");
的代碼運行,但o.HasFile結束了假,並o.FilePath結束了「app1.config.config」。如果我改變代碼:
System.Configuration.Configuration o = ConfigurationManager.OpenExeConfiguration(@"app1");
然後用代碼炸彈「發生錯誤加載配置文件:參數‘exePath’是無效參數名稱:exePath」。
如果我複製/粘貼配置文件(所以我最終與app1.config和app1.config.config)然後代碼運行良好,但是,我認爲這不是一個好的解決方案。我的問題是:我如何使用ConfigurationManager.OpenExeConfiguration來正確加載配置文件?
注意,您可以通過任何路徑組件,而不僅僅是一個exe。所以你給「SomeLib.dll」,它會打開「SomeLib.dll.config」。 當你的.NET項目實際上只是一個你不想在其可執行文件旁邊部署一個.config的應用程序的插件時,它很有用。 – Ludovic 2010-04-09 17:55:27
然而,當我把一個名爲app.config的文件放在dll的目錄中時,使用「app」作爲exePath參數,我必須在文件名改變之前將它改爲app ... – tobbenb3 2014-03-05 12:18:57