我以为我知道这一点,但今天我被证明是错的 - 再次。
运行VS2008,.NET 3.5和C#。我使用默认值将“用户”设置添加到“属性设置”选项卡,然后使用以下代码读取它们:
myTextBox.Text = Properties.Settings.Default.MyStringProperty;
然后,在用户编辑选项对话框中的值后,我将其保存为:
Properties.Settings.Default.MyStringProperty = myTextBox.Text;
Properties.Settings.Default.Save();
我的问题是,这个新值保存在哪里?可执行文件目录中的MyApp.exe.config文件未更新,它仍包含默认值。另外,据我所知,该目录中的其他任何文件都没有更新!但是,当程序重新读取值时,它会获得更改的值,所以我知道它已保存在某个地方......
这不仅仅是学术性的,我需要能够手动编辑今天早上的价值,当我找不到任何改变的东西时,我会感到难过。
答案 0 :(得分:131)
为了使用较新版本的Windows策略,默认情况下只允许对Program Files文件夹进行读取访问(除非您提示使用UAC进行提升,但这是另一个主题...),您的应用程序将进行设置%userprofile%\appdata\local
或%userprofile%\Local Settings\Application Data
下的文件夹,具体取决于您运行的Windows版本,用于特定于用户的设置。如果您存储所有用户的设置,则它们将位于C:\users
或C:\Documents and Settings
下的相应文件夹中,用于所有用户个人资料(例如:C:\users\public\appdata\local
)。
答案 1 :(得分:76)
您可以通过编程方式获取路径:
using System.Configuration; // Add a reference to System.Configuration.dll
...
var path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;
答案 2 :(得分:6)
感谢您指出正确的方向。我发现位于此怪物的user.config: c:\ users \ USER \ AppData \ Local \ COMPANY \ APPLICATION.exe_Url_LOOKSLIKESOMEKINDOFHASH \ VERSION \ user.config。
我必须在应用程序上更新版本,所有设置似乎都消失了。应用程序使用新版本创建了一个新文件夹,并使用了默认设置。花了很长时间才找到文件的存储位置,但这只是简单的复制和粘贴,即可将设置恢复到新版本。
答案 3 :(得分:5)
它保存在您的Documents and Settings \%user%\ Local Settings \ Application Data ......等中,搜索名为 user.config 的文件
然而,位置可能会改变。
答案 4 :(得分:0)
用户特定的设置保存在该应用程序的用户的Application Data文件夹中。查找user.config
文件。
我不知道你的期望,因为用户通常甚至没有首先对可执行文件目录的写访问权。
答案 5 :(得分:0)
我的Windows服务之一在Windows Server 2016中作为本地系统登录,我可以在C:\ Windows \ SysWOW64 \ config \ systemprofile \ AppData \ Local {您的应用程序名称}下找到user.config。
我认为最简单的方法是在C驱动器上搜索您的应用程序名称,然后检查user.config在哪里
答案 6 :(得分:0)
它们保存在YOUR_APP.exe.config
中,文件与YOUR_APP.exe
文件的<userSettings>
部分保存在同一文件夹中:
<userSettings>
<ShowGitlabIssues.Properties.Settings>
<setting name="SavedUserName" serializeAs="String">
<value />
</setting>
<setting name="SavedPassword" serializeAs="String">
<value />
</setting>
<setting name="CheckSave" serializeAs="String">
<value>False</value>
</setting>
</ShowGitlabIssues.Properties.Settings>
</userSettings>
这是CS代码:
public void LoadInfoLogin()
{
if (Properties.Settings.Default.CheckSave)// chkRemember.Checked)
{
txtUsername.Text = Properties.Settings.Default.SaveUserName;
txtPassword.Text = Properties.Settings.Default.SavePassword;
chkRemember.Checked = true;
}
...
答案 7 :(得分:0)
如果使用Windows 10,则该目录为:
C:\ Users <用户名> \ AppData \ Local \
+
答案 8 :(得分:-1)
对于任何想知道Microsoft Store中应用程序设置在哪里的人来说,它们都位于WindowsApps中,该应用程序已被锁定,但是您可以通过打开应用程序,然后使用Task-Manager打开文件路径来到达那里。 / p>
但是它们更有可能保存在C:\Users\[USERNAME]\AppData\Local\Packages\[NUMBERS][COMPANY].[APPLICATION]_[RANDOMDATA]\LocalCache\Local\[COMPANY]\[APPLICATION].exe_Url_[RANDOMDATA]\[VERSION]\user.config.
答案 9 :(得分:-15)
项目根文件夹下有一个名为“Properties”的文件夹,该文件夹下有* .settings文件。这就是它存储的地方。