C# ApplicationData.Current.RoamingSettings

C# ApplicationData.Current.RoamingSettings,c#,C#,我有一个windows 8.1应用程序正在使用此代码加载应用程序的以前状态: ApplicationDataContainer roamingSettings = ApplicationData.Current.RoamingSettings; if (roamingSettings.Values.ContainsKey("userName")) { nameInput.Text = roamingSettings.Values["userName"].T

我有一个windows 8.1应用程序正在使用此代码加载应用程序的以前状态:

    ApplicationDataContainer roamingSettings = ApplicationData.Current.RoamingSettings;
    if (roamingSettings.Values.ContainsKey("userName"))
    {
        nameInput.Text = roamingSettings.Values["userName"].ToString();
    }
漫游设置存储在此处:

C:\Users\username\AppData\Local\Packages\87bfb6d3-2d15-43bb-8f52-7ee30bdd4c4e\u c7a7mhx3d14pp\Settings\Settings.dat

我以管理员身份运行regedit.exe并打开settings.dat文件并更改了用户名值,但是当我再次运行应用程序时,我遇到了以下异常:

An exception of type 'System.Exception' occurred in HelloWorld.exe but was not handled in user code

WinRT information: Error trying to initialize the application data container server

Additional information: Loading the state store failed.

为什么它不允许我直接从settings.dat文件更改用户名?

不确定根本原因是什么,但如果我重置笔记本电脑并再次运行应用程序,应用程序将运行并显示我在.dat文件中输入的编辑值。

可能有点晚,但编辑后必须卸载文件,否则它将被注册表编辑器锁定:选择加载的键,然后转到菜单:文件->卸载配置单元