我开发了一个全球性良好的 UWP应用,但我遇到了商店应用或发布版本的一些问题,而所有在调试构建...
中工作正常该应用程序似乎非常基本:ts允许用户通过Web服务创建和同步表单。在应用程序启动时,会进行测试以查看用户是否已登录:如果不是这样,应用程序会导航到“登录”页面,否则导航到“ 主页“页面,其中包含表单列表。然后,用户可以通过“详细信息”页面编辑每个表单。
“调试”模式:
当我在“调试”模式下构建应用程序时,我没有遇到任何未捕获的异常且一切正常。
商店应用
商店应用的最新版本已成功生成并经过验证,没有任何问题。但是,当用户从“详细信息”页面返回到“主页”时,我的上一次更改会引发应用崩溃页。
我怀疑此更改会引发错误:我在“详细信息”视图中添加了一些代码,以通过“ 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 tool chain”构建应用程序。
“发布”模式:
在“发布”模式下,我已经检查了“使用.NET Native工具链编译”和“优化代码”选项。
应用程序正确启动并正确导航“登录”页面。但在用户连接后,该应用会尝试导航到“主页”页面:我得到 2个例外,我无法做任何其他事情......
我尝试添加一些 MessageDialog 来查看错误发生的位置,但是消息没有显示在构造函数中:所以我无法确定问题的根源...... < / p> 带有“原生工具链”的
“调试”模式
最后,我尝试再次以“调试”模式构建应用程序,但选项“使用.NET Native工具链编译”和“优化代码”
但是像这样,它工作正常,我无法重现“发布”模式中遇到的错误......
我没有其他想法,我无法回答这些问题:
此致
答案 0 :(得分:3)
发布配置优化代码会丢失一些用于调试的工件。因此,尝试调试发布配置可能会导致一些问题。
请务必注意,默认情况下,发布配置是完全优化的代码(例如,code inlining将在许多地方应用)。这些优化将对调试体验产生重大影响,包括不可预测的步进和断点行为(由于代码内联)以及由于内存优化而无法检查大多数变量。
因此,要在“发布”模式下调试UWP应用程序,我们可以创建自定义配置并为该配置启用.NET Native工具链。确保不优化代码。
有关详细信息,请参阅Debugging .NET Native Windows Universal Apps。
答案 1 :(得分:1)
前一段时间我遇到了同样的问题。经过长时间的尝试和错误,我能够在发布模式下使用.net本机工具链进行调试,并在另一台PC上进行远程调试(在我的情况下,它是一个表面)。
我使用Visual Studio 2017并在远程计算机上使用了2017年的远程调试工具。
希望这有帮助。
问候。