windows - UWP:使用 Windows.Desktop 目标设备系列触发 XamlParseException - 找不到刷子
问题描述
在Package.appxmanifest
文件中进行了以下更改:
前:
...
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
</Dependencies>
...
<Capabilities>
<Capability Name="internetClient" />
</Capabilities>
后:
...
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
</Dependencies>
...
<Capabilities>
<Capability Name="internetClient" />
<rescap:Capability Name="extendedBackgroundTaskTime" />
<rescap:Capability Name="extendedExecutionUnconstrained" />
</Capabilities>
此外App.xaml.cs
,还引入了一些逻辑来处理扩展执行,如本文所述(这对问题没有影响,因为删除它不会改变结果):
https://blogs.msdn.microsoft.com/mvpawardprogram/2018/01/30/non-suspending-uwp-desktop-apps/
在运行应用程序之前没有产生错误,但是在进行上述更改后,它在打开页面时突然崩溃:
Windows.UI.Xaml.Markup.XamlParseException
HResult=0x802B000A
Message=The text associated with this error code could not be found.
Cannot find a Resource with the Name/Key SystemControlBackgroundChromeBlackLowBrush [Line: 193 Position: 121]
Source=Windows
StackTrace:
at Windows.UI.Xaml.Application.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation)
at ...EventsView.InitializeComponent() in ..Client\Application.UWP\obj\x86\Debug\Views\EventsView.g.i.cs:line 43
at ..EventsView..ctor() in Client\Application.UWP\Views\EventsView.xaml.cs:line 25
第 43 行的 EventsView.xaml.gics:
global::Windows.UI.Xaml.Application.LoadComponent(this, resourceLocator, global::Windows.UI.Xaml.Controls.Primitives.ComponentResourceLocation.Application);
第 25 行的 EventsView.cs:
<DataTemplate x:Key="FooViewModelDetailsDataTemplate" x:DataType="viewmodels:FooViewModel">
我不确定将应用程序目标设备系列更改为如何Windows.Desktop
突然导致应用程序无法找到某个画笔。
我已经删除了 XAML 和视图模型中的所有显式画笔分配(任何画笔),但错误仍然存在。
此外,在代码库中的任何地方都没有(也不存在)任何使用该名称SystemControlBackgroundChromeBlackLowBrush
的代码行。
解决方案
可能有点晚了,但对于任何面临类似问题的人来说:当我将 TargetDeviceFamily Name 从 Windows.Universal 更改为 Windows.Desktop 时,我的应用程序总是在启动时崩溃。为了使其工作,我必须正确指定 MinVersion 和 MaxVersionTested,如Microsoft docs中所述。
推荐阅读
- ssl - 关于 SSL 证书冲突
- google-apps-script - 根据用户和日期隐藏工作表
- xamarin - Xamarin 通过点击显示 MenuItem
- android - 如何自定义拉动滑动以刷新布局androidx?不使用任何库
- sql - ORA-06502数字或值错误:空表索引键值
- android - 从firebase实时数据库android中检索特定数据
- r - 如何构建一个循环遍历数据帧并转换其中数据的函数(R)
- android - Calendar.Events?.get(calendarId, eventId) 抛出 android.os.NetworkOnMainThreadException 错误
- php - 需要求第二次嵌套的值的总和
- node.js - 基于 TLS 的 React 和 NodeJS