2011-05-22 51 views
3

我有一個asp.net mvc網站,當然有一個web.config文件。我也有一個外部項目,它是一個使用.config文件進行自己的應用程序設置的類庫。問題是當我運行我的web應用程序時,這些外部應用程序設置值不包含在appSettings中。如何訪問外部.config文件?

如何獲取外部類庫項目appSettings值?

回答

2

您需要:
1.將這些設置添加到您的web.config文件中。
2.指向外部設置,並使用後期構建事件處理程序將輸出複製到您的Web項目中。

<configuration> 
    <appSettings configSource="my.config" /> 
</configuration> 

標準約定是您將設置添加到您的web.config文件。只有dll的程序集不會加載它們自己的配置文件。這允許使用它們的人在他們自己的應用程序中指定設置。

+0

咳咳 - 你不能外部化整個'<配置>'標籤(根標籤在.NET'.config') - 僅配置部分裏面可以外化成一個單獨的文件(所以要麼你選擇了一個非常糟糕的例子來證明你的意圖,否則你的陳述將無法正常工作......) – 2011-05-22 07:36:08

+0

@marc_s - 很好的結果。我更新了我的例子。 – 2011-05-22 16:20:17

+0

是否可以使用configSource指向多個配置文件? – chobo 2011-05-23 02:48:56

6

你可以得到外部的應用程序設置這樣的:

var config = ConfigurationManager.OpenExeConfiguration("some.config"); 
    var someKeyValue = config.AppSettings.Settings["someKey"].Value;