WinUI3入门8:解决release版异常 取消优化和裁剪
初级代码游戏的专栏介绍与文章目录-CSDN博客
我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。
这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。
源码指引:github源码指引_初级代码游戏的博客-CSDN博客
C#是我多年以来的业余爱好,新搞的东西能用C#的就用C#了。
前面的例程使用了DataGrid控件,在默认的Debug模式下运行是没有问题的,但是切换到Release模式却会报如下异常:
在win10和win11下均是如此。新建项目,只添加一个DataGrid也是如此,这就比较绝望了。
目录
一、为什么Release版本会出错
二、关闭优化
三、关闭裁剪
我还忍不住下载了CommunityToolkit的源码,瞄了一眼源码:
大项目,还是不要碰了。
一、为什么Release版本会出错
继续在互联网搜索,发现了可能的原因:优化和裁剪会导致Release出错,大部分是因为裁剪时错误地删掉了需要使用的代码。
于是进行了尝试,发现我的问题确实是由于裁剪引起的,关闭裁剪就一切正常了。
我记得Winforms程序因为窗口机制的问题无法被裁减,因为无法知晓一段代码究竟会不会被使用到,WinUI3裁剪出错又是因为什么?因为这种问题存在,必须关掉裁剪,这意味着程序会大很多。
二、关闭优化
优化与我的这个问题无关,但不保证跟下个问题无关。
在项目上右键“属性”-“生成”-“常规”:
默认情况下Release是优化的。去掉前面的勾即可取消优化。
三、关闭裁剪
在“生成”-“发布”:
“已裁剪发布”下面“控制是否在发布期间启用裁剪”默认是选中的,去掉前面的勾取消裁剪。
实话说这些配置项的表述很古怪,但是又感觉不是翻译的原因,而是因为本来就是火星人设计的。
(这里暂时就不劝退了)