我有一個WinForm項目,其中包含幾個UserControls。此WinForm項目具有對另一個項目(類庫)創建的程序集的引用(稱爲lib.dll
),該程序存在於另一個解決方案中。在設計時從類庫中讀取配置文件的替代方法?
現在,UserControls
中的幾個調用lib.dll
來返回app.config
文件中的值。在運行時lib.dll
工作正常,並返回必要的數據,但在設計時,我從lib.dll
得到一個例外,因爲app.config
部分是NULL
(例外是由設計)。現在
我可以去通過每個控制和包裝與
if(!DesignMode) { //code }
調用到lib中的任何代碼,但是這是一個很大的控制去並應用到。有什麼我可以做全球性的,那麼測試DesignMode屬性會更優雅嗎?
編輯
在響應低於離開了兩點意見:所提供的解決方案似乎不工作。導致我遇到問題的程序集與app.config位於同一目錄中。一般的目錄結構看起來像這樣
- 引用文件夾
- 配置(文件夾)
- appsettings.config
- 的app.config
- lib.dll
app.config
在幾個拉其他配置文件(appsettings
,cnx
字符串等),其中駐留在配置文件離子目錄。在我的例外情況下,我嘗試獲取的值位於app.config
引用的其中一個輔助配置文件中。
您是否曾嘗試將app.config文件的副本添加到包含dll的目錄中?只是一種預感。 – Khan 2012-03-20 20:39:02
@Jeff是對的,你可以做兩件事,你可以使app.config成爲另一個項目的鏈接,然後將其設置爲不使用dll(Build Type:None)進行部署。 – 2012-03-20 21:08:43
感謝您的回覆。你的兩個解決方案都不能工作,但我已經更新了我原來的帖子,可能會對這個問題提供更多的信息。 – dparsons 2012-03-21 11:58:10