Настройка ApplicationView.GetForCurrentView (). Заголовок приводит к InvalidCastException (приложение Windows 8.1 под Windows 10 1809 и выше) - PullRequest
0 голосов
/ 16 октября 2019

Извините за слишком дословное название. Я подумал, что описательный подход может сделать его более заметным для людей, сталкивающихся с той же проблемой в будущем.

Во всяком случае. Вот мой сценарий:

В настоящее время я поддерживаю приложение Магазина Windows 8.1, которое загружается с боковой стороны (не указано в Магазине Microsoft) и используется внутри компании, в которой я работаю.

Довчерашний толчок к обновлению с Windows 10 1803 до Windows 10 1809 (мы сильно отстали в обновлениях, но это не относится к делу), приложение работало как на компьютерах с Windows 8.1, так и на устройствах с Windows 10.

По состоянию на вчерашний деньприложение отказывается работать на чем-либо более новом, чем Windows 10 1803.

При запуске приложения в режиме отладки возникает следующая ошибка:

Исключение типа 'СистемаИсключение*

ApplicationView.GetForCurrentView().Title = version;

Где версия - допустимая строка.

Удаление этой строки восстанавливает предыдущее, функциональное поведение.

Я не могу найтиd Любая информация об удалении атрибута «Заголовок» в последующих версиях Windows 10. Должен ли я считать, что это так? Если да, какой альтернативный путь существует для отображения версии приложения в строке заголовка?

РЕДАКТИРОВАТЬ: Стоит отметить, что заголовок на самом деле добавляется перед исключением.

РЕДАКТИРОВАТЬ 2: Iтолько что попробовал это с пустым приложением. Та же самая проблема там. Нативное приложение UWP будет работать правильно, тогда как приложение Windows 8.1 будет выдавать исключение. Судя по фактической трассировке, виновником является не мой код, а частный метод ( ApplicationView.put_Title ), который заканчивается исключением.

...