首页 > 编程语言 >C# UWP 项目debug发布无问题运行,Release模式闪退问题的解决

C# UWP 项目debug发布无问题运行,Release模式闪退问题的解决

时间:2023-10-20 14:22:57浏览次数:49  
标签:C# UWP 模式 Windows Release 闪退

近期解决了一个非常迷惑的一个问题,问题就在于,项目在本地环境运行时没有任何异常和闪退的现象,而且以Debug模式发布后,发布包安装后,运行也没有任何问题,但是当以Release模式发布并安装,就会出现闪退的问题。

针对对系统日志的分析和错误的解决,我们一共找到两个原因导致这个问题的出现。

1.初始化时间太久,导致系统超时的闪退
2.由于Release模式发布时,系统自动优化代码,导致包丢失闪退

1.初始化时间太久,导致系统超时的闪退

这个解决相对容易,大家可以直接参考:

主页:应用启动性能的最佳做法 - UWP 应用程序 |Microsoft学习

C# 案例代码: msdn-code-gallery-microsoft/Official Windows Platform Sample/Windows 8 app samples/[C#]-Windows 8 app samples/C#/Windows 8 app samples/Splash screen sample (Windows 8)/C# at 411c271e537727d737a53fa2cbe99eaecac00cc0 · microsoftarchive/msdn-code-gallery-microsoft · GitHub

直接贴代码就完了,这个理解起来也简单,就是快速接手启动页,使系统响应,不至于系统被杀死导致闪退。

2.由于Release模式发布时,系统自动优化代码,导致包丢失闪退

这种闪退就比较有意思了,直接上方法:

1.找到我们的项目 xxx.UWP

2.找到Properties点开

3.找到 Default.rd.xml(没有的自己加一个)

<Application>
  <Assembly Name="项目架构名" Dynamic="Required All" />
</Application>

这个东西可以保证你的Dll不被无故删掉,因为Release会优化你的方法,没有被调用的会给你优化掉(删掉),所有没有在系统当中直接书写的,写在别的DLL的,可能会被误删

<Application> 元素是根元素,表示整个应用程序的配置信息。在这个例子中,它包含一个 <Assembly> 元素作为子元素。

<Assembly> 元素用于指定应用程序所需的程序集(或库)的名称和加载方式。在这里,Name 属性指定了程序集的名称,Dynamic 属性指定了程序集的加载方式。

项目架构名就是这个东西:

 以上是我遇到的两个UWP项目闪退原因的解决方案

 

标签:C#,UWP,模式,Windows,Release,闪退
From: https://www.cnblogs.com/ning-xiaowo/p/17776961.html

相关文章

  • 使用CSS的cross-fade()实现基于url的网页背景图半透明显示
     参考链接:https://www.zhangxinxu.com/wordpress/2020/07/css-cross-fade-background-image-opacity/引子在开发过程中,碰到了一个比较特别的情况,就是使用url()背景图像,同时又希望background-image背景图片是半透明的,作为网页的半透明背景图,这时候使用opacity,如果使用某一个大......
  • lorawan.class a与网关通信错位一次
    我的流程就是先收节点数据再发送 发现修改数据后,都延迟了一次。 根硬件厂家沟通。然后确认了这个。说这是classa的特性。就是延迟错位一次。-------------------------------------目瞪狗呆中-------------------------------------- ......
  • Example: Pandas Excel output with column formatting pandas 对excel 列做格式处理
    AnexampleofconvertingaPandasdataframetoanExcelfilewithcolumnformatsusingPandasandXlsxWriter.Itisn’tpossibletoformatanycellsthatalreadyhaveaformatsuchastheindexorheadersoranycellsthatcontaindatesordatetimes.Note:......
  • Axure RP 10 for mac:打造高保真交互原型设计的终极利器
    AxureRP10formac是一款功能强大的UI/UX设计工具,它可以帮助用户快速创建高保真的交互原型,帮助团队在早期阶段测试并验证产品或界面的想法。→→↓↓载AxureRP10forMacAxureRP10具有丰富的组件库和强大的交互功能,可以模拟各种复杂的交互效果,帮助用户在短时间内创建出令......
  • 实验2 C语言分支与循环基础应用编程
    实验任务1task1.c源代码:1#include<stdio.h>2#include<stdlib.h>3#include<time.h>45#defineN56#defineN13747#defineN246589intmain()10{11intnumber;12inti;1314srand(time(0));151......
  • Adobe Acrobat Pro DC 2023:轻松驾驭PDF,开启高效工作新篇章 Mac+win版
    AdobeAcrobatProDC2023是Adobe公司推出的一款强大的PDF文档处理软件,它可以帮助用户轻松管理和编辑PDF文件,同时还提供了丰富的注释、高亮、添加文本等功能,使得用户可以在PDF文件中进行高效的沟通和协作。→→↓↓载AdobeAcrobatProDC2023mac/win版相较于其他PDF处理软......
  • css元素水平垂直居中
    1、单行文字的处理<html><head><style>/*要点,设置行高和DIV的行高一行*/#div{background-color:antiquewhite;height:100px;line-height:100px;text-alig......
  • axios_设置withCredentials:true的情况下的跨域问题的解决办法
    在项目中的请求设置了withCredentials:true之后,后端在设置Access-Control-Allow-Origin:*的情况下浏览器依然报跨域错误在https://blog.csdn.net/HermitSun/article/details/100797223这篇博文里了解到withCredentials的情况下,后端要设置Access-Control-Allow-Origin为你的......
  • RK3588编解码之mpp解码demo解析: mpi_dec_test
    1.简介mpi_dec_test是rockchip官方解码demo本篇文章进行mpi_dec_test的代码解析,解码流程解析2.环境介绍硬件环境:ArmSoM-W3RK3588开发板软件版本:OS:ArmSoM-W3Debian113.mpp解码流程解析 mpp_create:获取MppCtx实例以及MppApi结构体mpp_ini......
  • TCP FOR PGST
     Uplink:1//////////////////////////////////////////////////////////////2EnLength=0;34//flagReport=fGasLowAlarm;5//GasWorker.Alm_Lel=25;67encodingString[EnLength++]=0x5D;//起始符8encodingString[EnLe......