2010-12-03 75 views
0

我有一個解決方案,其中有4個項目都在互相交互。每個項目都包含自己的app.config文件,名稱爲「app.config」,並且有時可能包含相同的appsettings字段。然而由於某種原因,當從另一個project.method調用一個project.method時,它會在調用項目方法時調用app.config文件。這不應該是這種情況,因爲我知道每個項目都是用自己的配置文件編譯的。app.config文件混淆爲.net應用

o = streamSettings.GetValue("ConnectionString", GetType(String)) 
    connectionString = o.ToString() 

    o = streamSettings.GetValue("LogFileDirectory", GetType(String)) 
    logFileDirectory = o.ToString() 

這是所有項目都一樣,但我在這裏得到錯誤的連接字符串。

+1

是這樣的配置文件默認情況下 – hunter 2010-12-03 16:33:50

回答

1

任何項目DLL都是偶然的。

.NET的配置系統將APP.CONFIG文件與PROCESS相關聯,而不是可執行映像。

因此,假設你有一個ProjectA(一個EXE)和一個項目b(一個DLL)的解決方案。

項目A引用項目B和調用到項目B.

在項目A,調用配置方法將項目A的App.config中拔出。

一旦項目A調用到項目B,在B項目的代碼也將結束指的項目A的配置文件,只是尋找到B項目中定義的部分

它的怪異和漂亮unweildy,但似乎是故意的

雖然有關於如何設置一個DLL,以便它從它的OWN配置文件讀取的網頁上有一些文章。

這裏有一個從SO本身

C# DLL config file