2009-09-11 73 views
34

在wpf中構建桌面應用程序時,如果人們的回答指向「web.config」,您是否可以閱讀有關問題的文檔並安全地替代'app.config'?App.Config和Web.Config之間的區別?

如果有的話,還有什麼明顯的GOTCHAS,你必須注意?

TNX

回答

26

Web.Config用於asp.net web項目/ Web服務。

App.Config用於Windows窗體,Windows服務,控制檯應用程序和WPF應用程序

你的問題未提供的所有信息,以在疑難雜症的可能在於你。

你能給我們提供關於你在這些配置文件方面做什麼的更多信息嗎?

+0

這並非完全正確。我創建了一個WCF服務庫項目,它使用app.config而不是web.config。我明白,不同之處在於app.config非最終狀態,而不是web.config最終狀態。 – mantoviejo 2016-09-28 07:40:19

-7

的Web.config在運行時被解析,而app.config中是在編譯時完成。因此,如果您在機器上編輯App.config,那麼啓動服務時它不會更新。如果您編輯web.config文件,則會在網站啓動時進行檢查。

+16

對不起,這是根本錯誤的。在編譯時,將獲取app.config的副本,重命名爲[output] .config並移至生成文件夾。然後,您可以將此副本修改爲您的內容,並且每次啓動應用程序/服務/等時都會讀取您的修改。 – 2010-03-10 10:56:19

27

閱讀Documentation

的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文件合併到應用 的配置中。