簡體   English   中英

My.Settings在VB 2010 .NET中保存在哪里?

[英]Where are My.Settings saved in VB 2010 .NET?

My.Settings值是保存在程序本身還是存儲在注冊表中? 因此,例如,如果我用程序設置My.Settings值,那么我將程序本身復制到另一台PC - My.Settings值是否仍然設置?

這取決於您選擇的范圍 有兩個范圍設置 - 應用程序和用戶范圍。

來自MSDN文章:

應用程序作用域設置是只讀的,並在該應用程序的所有用戶之間共享。 這些設置存儲在該部分的app.config文件中。 在運行時,app.config文件將位於您的bin文件夾中,並以您的應用程序名稱(MySettingsDemo.exe.config)命名。

用戶范圍設置特定於每個用戶。 它們可以在運行時由應用程序代碼安全地讀取和設置。 這些設置存儲在user.config文件中。 為了在技術上准確,每個應用程序每個用戶有兩個user.configs - 一個用於非漫游,一個用於漫游。 雖然Visual Basic 2005文檔聲明user.config文件將根據用戶的名稱(joe.config)命名,但情況並非如此。 user.config文件在以下位置創建:

<c:\Documents and Settings>\<username>\[LocalSettings\]ApplicationData\<companyname>\<appdomainname>_<eid>_<hash>\<verison>.
Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal)
MessageBox.Show(config.FilePath)

如果您使用clickonce安裝了應用程序,則MySettings將存儲在配置文件中,該文件存儲在`C:\\ Users \\\\ AppData \\ Local \\ Apps \\ 2.0 \\ Data ........

使用名為yourapp.exe.config的文件在這些路徑中搜索

事情是MySettings將存儲在該應用程序的app.config文件中,並在發布后將app.config文件保存為applicationname.exe.config文件

如果它們是用戶設置,它們肯定不會存儲在程序中 - 這不是很容易實現,而且毫無意義。 相反,它們存儲在%AppData%文件夾中的配置文件中。 所以不,如果你復制了程序,那么用戶設置就不會附帶它,只有應用程序設置。

暫無
暫無

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

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