簡體   English   中英

user.config文件沒有被創建但是app.config是?

[英]user.config file not being created but app.config is?

我的程序內置了一些設置,其中都有一個用戶范圍。 但是,當程序啟動時,它只會創建包含設置的AppName.exe.config文件。

在運行時期間稍后保存設置時,它會在AppData / Local / AppName / location中創建user.config文件(以前不存在),但該文件僅包含已保存的設置。

為什么會這樣? 為什么不創建user.config或在啟動時使用它?

來自MSDN的應用程序設置架構

  1. 應用程序范圍的設置可以存儲在machine.config或app.exe.config文件中。 Machine.config始終是只讀的,而app.exe.config受安全注意事項限制為大多數應用程序的只讀。

  2. 用戶范圍的設置可以存儲在app.exe.config文件中,在這種情況下,它們將被視為靜態默認值。

  3. 非默認用戶范圍設置存儲在新文件user.config中,其中user是當前正在執行應用程序的人員的用戶名。 您可以使用DefaultSettingValueAttribute為用戶范圍設置指定默認值。 由於用戶范圍設置通常在應用程序執行期間發生更改,因此user.config始終是可讀/寫的。

您首先看到的是(您所謂的)您的“內置設置”存儲為(Microsoft調用的)“靜態默認”用戶范圍設置,存儲在app.exe中(按照2)。

然后,當您在運行時回寫設置時,它們被視為“非默認”用戶范圍設置,並且它們被寫入user.config(按照3),因此為什么只有這樣才能看到用戶.config文件已創建。

簡而言之,只要用戶范圍設置與每個人相同(默認值),就不需要每用戶user.config文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM