UWP: использование семейства целевых устройств Windows.Desktop вызывает XamlParseException - кисть не найдена - PullRequest
0 голосов
/ 06 июня 2019

В файле 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

EventsView.xaml.gics в строке 43:

global::Windows.UI.Xaml.Application.LoadComponent(this, resourceLocator, global::Windows.UI.Xaml.Controls.Primitives.ComponentResourceLocation.Application);

EventsView.cs atстрока 25:

<DataTemplate x:Key="FooViewModelDetailsDataTemplate" x:DataType="viewmodels:FooViewModel">

Я не уверен, как изменение семейства целевых устройств приложения на Windows.Desktop внезапно приведет к тому, что приложение не сможет найти определенную кисть.

Я удалил все явные назначения кисти (любой кисти) как в XAML, так и в модели представления, но ошибка сохраняется.

Также нет (и не было) ни одной строки кода с именем SystemControlBackgroundChromeBlackLowBrush где-либо в базе кода.

...