我有一個asp.net mvc網站,當然有一個web.config文件。我也有一個外部項目,它是一個使用.config文件進行自己的應用程序設置的類庫。問題是當我運行我的web應用程序時,這些外部應用程序設置值不包含在appSettings中。如何訪問外部.config文件?
如何獲取外部類庫項目appSettings值?
我有一個asp.net mvc網站,當然有一個web.config文件。我也有一個外部項目,它是一個使用.config文件進行自己的應用程序設置的類庫。問題是當我運行我的web應用程序時,這些外部應用程序設置值不包含在appSettings中。如何訪問外部.config文件?
如何獲取外部類庫項目appSettings值?
您需要:
1.將這些設置添加到您的web.config文件中。
2.指向外部設置,並使用後期構建事件處理程序將輸出複製到您的Web項目中。
<configuration>
<appSettings configSource="my.config" />
</configuration>
標準約定是您將設置添加到您的web.config文件。只有dll的程序集不會加載它們自己的配置文件。這允許使用它們的人在他們自己的應用程序中指定設置。
你可以得到外部的應用程序設置這樣的:
var config = ConfigurationManager.OpenExeConfiguration("some.config");
var someKeyValue = config.AppSettings.Settings["someKey"].Value;
咳咳 - 你不能外部化整個'<配置>'標籤(根標籤在.NET'.config') - 僅配置部分裏面可以外化成一個單獨的文件(所以要麼你選擇了一個非常糟糕的例子來證明你的意圖,否則你的陳述將無法正常工作......) – 2011-05-22 07:36:08
@marc_s - 很好的結果。我更新了我的例子。 – 2011-05-22 16:20:17
是否可以使用configSource指向多個配置文件? – chobo 2011-05-23 02:48:56