UWP App 在发布模式下崩溃(故障模块:Windows.UI.Xaml.dll)

Posted

技术标签:

【中文标题】UWP App 在发布模式下崩溃(故障模块:Windows.UI.Xaml.dll)【英文标题】:UWP App crash in release mode (faulting module: Windows.UI.Xaml.dll) 【发布时间】:2021-05-27 22:37:14 【问题描述】:

我的 UWP 应用在发布模式下启动后直接崩溃,并在事件日志中显示以下错误:

错误应用程序名称:MyApp.exe,版本:1.0.0.0,时间戳:0x6037ab09 错误模块名称:Windows.UI.Xaml.dll,版本:10.0.17763.1790,时间戳:0x05b3601b 异常代码:0xc000027b

当我安装调试版本时,一切都很好。

【问题讨论】:

【参考方案1】:

我在 5.00 版中使用 Microsoft.Extensions.Logging 和 Microsoft.Extensions.Options。事实证明,本机编译器正在剥离运行时需要的一些部分。

我在这个 github 问题中找到了描述和解决方案:https://github.com/dotnet/runtime/issues/44697

所以我必须将所有程序集添加到位于 Properties 下的 Default.rd.xml:

<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
    <Application>
        <Assembly Name="*Application*" Dynamic="Required All" />
        
        <!-- Add your application specific runtime directives here. -->
        <Assembly Dynamic="Required All" Name="Microsoft.Extensions.Options"/>
        <Assembly Dynamic="Required All" Name="Microsoft.Extensions.Logging"/>
        <Assembly Dynamic="Required All" Name="Microsoft.Extensions.Logging.Abstractions"/>
        <Assembly Dynamic="Required All" Name="Microsoft.Extensions.Hosting"/>
    </Application>
</Directives>

【讨论】:

以上是关于UWP App 在发布模式下崩溃(故障模块:Windows.UI.Xaml.dll)的主要内容,如果未能解决你的问题,请参考以下文章

无法在发布模式下为 UWP 构建 Xamarin.Forms 应用

UWP 应用程序在未处于调试模式时崩溃

Windows 10 UWP 应用程序在启动时崩溃(错误模块名称:Windows.UI.Xaml.dll)

UWP 自然灾害App在刷新数据后卡死的解决方案

win7出现故障模块kernelbase.dll

UWP 应用的发布版本不包含资产