【发布时间】:2020-10-21 18:00:10
【问题描述】:
我将空白 UWP 项目打包到 Windows 应用程序打包项目中。
两个项目都有:
- 目标版本 Windows 10 版本 1903(10.0;内部版本 18362)
- 最低版本 Windows 10 版本 1809(10.0;内部版本 17763)
我在App.xaml.cs中写了一个简单的代码来创建设置值
using Windows.Storage;
...
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
ApplicationDataContainer Sett = ApplicationData.Current.LocalSettings;
if (Sett.Values["test"] == null)
{
Sett.Values["test"] = true;
}
// Sett.Values["test"] = true; // Also causes an error
...
}
当我运行 TestPkg(x86 调试)时,我在调试控制台中收到此消息
onecoreuap\base\appmodel\statemanager\winrt\lib\windows.storage.applicationdatafactory.server.cpp(235)\Windows.Storage.ApplicationData.dll!7B6D1391: (caller: 05769996) ReturnHr(1) tid(546c) 8000000B The operation attempted to access data outside the valid range
Msg:[User XXX]
正确保存的值我可以毫无问题地读取它。 仅当您将 UWP 打包到 Windows 应用程序打包项目时才会出现此错误。
我也在这两种情况下都使用 windows.fullTrustProcess (UWP + WPF) 进行了尝试。在这两种情况下,行为都是相似的。
我该如何解决这个问题? 来源:https://github.com/steam3d/Windows.Storage.Error
【问题讨论】:
-
我已经制作了测试示例来测试上面的代码,但是我无法重现这个问题,你能不能给我们分享一个迷你演示?
-
我已经测试了你的代码示例,它抛出异常,我尝试删除应用程序引用并重新添加包。它按预期工作。
-
我尝试重新添加 Windows 应用程序打包项目,但总是收到此错误
-
能否尝试清理解决方案并删除 bin 和 obj 文件夹?