【发布时间】:2017-07-01 17:15:03
【问题描述】:
我开发了一个可以在全球范围内正常运行的 UWP 应用,但我在使用 Store 应用或 Release 版本时遇到了一些问题,而在 Debug 构建中一切正常...
这个应用看起来很基础:ts 允许用户通过 web 服务创建和同步表单。在应用程序启动时,会进行测试以查看用户是否已登录:如果不是,应用程序导航到“登录”页面,否则导航到“ 主页”页面,其中包含表单列表。然后用户可以通过“Details”页面编辑每个表单。
“调试”模式:
当我在“调试”模式下构建应用程序时,我没有遇到任何未被捕获的异常并且一切正常。
商店应用:
Store 应用程序的最新版本已成功生成并验证,没有任何问题。但是当用户从“详细信息”页面返回到“主页”时,我的最后一项更改引发了应用崩溃页面。
我特别怀疑这个更改会引发错误:我在“Details”视图中添加了一些代码,以通过“OnNavigatedFrom()”清理资源:
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
ViewModel = this.DataContext as DetailsViewModel;
if (!ViewModel.ToChildNavigate)
{
// Dispose resources
this.Resources.Clear();
this.Loaded -= DetailsPage_Loaded;
ViewModel = null;
}
base.OnNavigatedFrom(e);
}
为了解决这个问题,我想使用“.Net Native 工具链”以“发布”模式构建应用程序。
“发布”模式:
在“发布”模式下,“Compile with .NET Native tool chain”和“Optimize code”这两个选项我已经检查好了.
应用程序正确启动并在“登录”页面中正常导航。但是在用户连接之后,应用程序尝试导航到“Home”页面:我得到2个异常,我不能做任何其他事情... p>
我尝试添加一些 MessageDialog 来查看错误发生在哪里,但是消息没有显示在构造函数中:所以我无法确定问题的根源......
带有“原生工具链”的“调试”模式
最后,我再次尝试在“调试”模式下构建应用,但使用选项“使用 .NET Native 工具链编译”和“优化代码” >”。
但是像这样,它工作正常,我无法重现在“发布”模式下遇到的错误......
我没有其他想法,也无法回答这些问题:
- 为什么 Store 版本和 Release 模式有区别?
- 如何才能在发布模式下使用该应用程序?是否可以“调试”它?
- 我必须在发布模式下启动应用程序以修复商店版本遇到的错误...
问候,
【问题讨论】:
标签: c# xaml uwp native release