My.Settings
值是保存在程序本身还是存储在注册表中?因此,例如,如果我使用程序设置My.Settings
值,那么我将程序本身复制到另一台PC - My.Settings
值是否仍然设置?
答案 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%文件夹中的配置文件中。所以不,如果你复制了程序,那么用户设置就不会附带它,只有应用程序设置。