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

时间:2012-01-01 04:35:48

标签: .net vb.net my.settings

My.Settings值是保存在程序本身还是存储在注册表中?因此,例如,如果我使用程序设置My.Settings值,那么我将程序本身复制到另一台PC - My.Settings值是否仍然设置?

4 个答案:

答案 0 :(得分:30)

这取决于您选择的scope。有两个范围设置 - 应用程序和用户范围。

来自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>.

答案 1 :(得分:6)

Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal)
MessageBox.Show(config.FilePath)

答案 2 :(得分:4)

如果您使用clickonce安装了应用程序,则MySettings将存储在配置文件中,该文件存储在`C:\ Users \\ AppData \ Local \ Apps \ 2.0 \ Data ........ < / p>

使用名为yourapp.exe.config的文件在这些路径中搜索

事情是MySettings将存储在该应用程序的app.config文件中,并在发布后将app.config文件保存为applicationname.exe.config文件

答案 3 :(得分:3)

如果它们是用户设置,它们肯定不会存储在程序中 - 这不是很容易实现,而且毫无意义。相反,它们存储在%AppData%文件夹中的配置文件中。所以不,如果你复制了程序,那么用户设置就不会附带它,只有应用程序设置。