2014-02-12 47 views
8

假設一個項目同時包含App.config和Web.config文件以及一些衝突信息。有什麼規則哪些文件具有更高的優先級?或者一個應用程序必須忽視它們並拋出異常?App.config v.s. Web.config:哪個具有優先權?

+1

這個答案應該清楚的事情了:http://stackoverflow.com/a/17160808/536610 – Niklas

+1

我想,這是你能在5分鐘內測試。在app.config和web.config中添加一些設置。可以說,並在您的應用中測試,您是否會獲得AAA或BBB。 –

回答

6

從MSDN的.NET 4.5:

當配置在Visual Studio中的服務,使用一個Web.config文件或App.config文件到指定設置。配置文件名稱的選擇取決於您爲服務選擇的主機環境。 如果您使用IIS來託管您的服務,請使用Web.config文件。如果您使用的是其他宿主環境,請使用App.config文件。

在Visual Studio中,名爲App.config的文件用於創建最終配置文件。實際用於配置的最終名稱取決於程序集名稱。例如,名爲「Cohowinery.exe」的程序集的最終配置文件名稱爲「Cohowinery.exe.config」。但是,您只需修改App.config文件。對該文件所做的更改將在編譯時自動生成最終的應用程序配置文件。

在使用App.config文件時,配置系統在應用程序啓動並應用配置時將App.config文件與Machine.config文件的內容合併。該機制允許在Machine.config文件中定義機器範圍的設置。 App.config文件可用於覆蓋Machine.config文件的設置;您還可以鎖定Machine.config文件中的設置,以便它們得到使用。在Web.config的情況下,配置系統將導致應用程序目錄的所有目錄中的Web.config文件合併到應用的配置中。有關配置和設置優先級的更多信息,請參閱System.Configuration命名空間中的主題。

這裏也用於使用MS天青那些大柱,解釋的B/W 的applicationSettings的appSettings(的app.config/web.config中)和ConfigurationSettings差異(.csdef/.cscfg) :

http://haishibai.blogspot.com/2012/09/windows-azure-cloud-service.html

相關問題