將設置移動到另一個配置文件
是否可以將 applicationSettings 移動到另一個配置文件,就像使用 connectionStrings 或 appSettings 一樣?
當我使用設計器為我的 Web 應用程序創建設置時,我在 web.config 中獲得了 applicationSettings 部分,例如:
<applicationSettings> <TestWebApplication.Properties.Settings> <setting name="AnotherSetting" serializeAs="String"> <value>Another setting value</value> </setting> </TestWebApplication.Properties.Settings> </applicationSettings>我希望能夠將它們移動到另一個文件,例如 appSettings:
<appSettings configSource="config\appsettings.config"/>我正在處理一個項目,該項目具有通過設計器生成的類訪問的大量設置,而 web.config 很難在多個環境之間維護。如果我可以強制設置類使用 appSettings 而不是 applicationSettings,那就更好了。
是否可以?
提前感謝您的幫助。
Waaaay這個問題遲到了,但我只是在這個問題上撞到牆上。事實證明您可以這樣做,只是不能針對整個 applicationSettings 節點,您必須分別執行 applicationSettings 的每個子節點。我從MSDN SectionInformation.ConfigSource文章的底部得到了神奇的資訊。
app.config/web.config 內容
<applicationSettings> <TestWebApplication.Properties.Settings configSource="externalfile.config" /> </applicationSettings>externalfile.config 內容:
<TestWebApplication.Properties.Settings> <setting name="AnotherSetting" serializeAs="String"> <value>Another setting value</value> </setting> </TestWebApplication.Properties.Settings>
是的,當然有可能!任何配置文件中的任何 ConfigurationSection 都可以通過 configSource=“otherConfigFile.config” 屬性“外部化”。
如果我可以強制設置類使用 appSettings 而不是 applicationSettings,那就更好了。
為此,您需要擺脫在 .NET 中使用漂亮的視覺化“設置”類並直接使用 ConfigurationManager。這樣,您可以將設置放入 <appSettings> 並使用 ConfigurationManager.AppSettings 讀取它們
$$ “keyname” $$. 馬克