Dav*_*N59 133 .net c# settings
我以为我知道这一点,但今天我被证明是错的 - 再一次.
运行VS2008,.NET 3.5和C#.我使用默认值将"用户"设置添加到"属性设置"选项卡,然后使用以下代码读取它们:
myTextBox.Text = Properties.Settings.Default.MyStringProperty;
Run Code Online (Sandbox Code Playgroud)
然后,在用户编辑选项对话框中的值后,我将其保存为:
Properties.Settings.Default.MyStringProperty = myTextBox.Text;
Properties.Settings.Default.Save();
Run Code Online (Sandbox Code Playgroud)
我的问题是,这个新值保存在哪里?可执行文件目录中的MyApp.exe.config文件未更新,它仍包含默认值.另外,据我所知,该目录中的其他任何文件都没有更新!但是,当程序重新读入值时,它会获得更改的值,因此我知道它已保存在某处...
这不仅仅是学术性的,我需要能够手动编辑今天早上的价值,当我找不到任何改变的东西时,我会感到难过.
jas*_*onh 134
为了使用较新版本的Windows策略,默认情况下只允许对Program Files文件夹进行读取访问(除非您提示使用UAC进行提升,但这是另一个主题...),您的应用程序将在%userprofile%\appdata\local或下面设置一个设置文件夹%userprofile%\Local Settings\Application Data取决于您正在运行的Windows版本,用于特定于用户的设置.如果存储设置为所有用户,那么他们会在相应的文件夹下C:\users或者C:\Documents and Settings为所有用户配置文件(例如:C:\users\public\appdata\local).
Akb*_*bar 83
您可以通过编程方式获取路径:
using System.Configuration; // Add a reference to System.Configuration.dll
...
var path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;
Run Code Online (Sandbox Code Playgroud)
小智 7
感谢您指出正确的方向。我发现位于此怪物的user.config:c:\ users \ USER \ AppData \ Local \ COMPANY \ APPLICATION.exe_Url_LOOKSLIKESOMEKINDOFHASH \ VERSION \ user.config。
我必须在应用程序上更新版本,所有设置似乎都消失了。应用程序使用新版本创建了一个新文件夹,并使用了默认设置。花了很长时间才找到文件的存储位置,但这只是一个简单的复制和粘贴操作,即可将设置更改为新版本。
它被保存在您的Documents and Settings \%USER%\本地设置\应用数据......等搜索一个名为user.config有
但是,位置可能会改变.