MissingTemplateException в UWP, скомпилированном для выпуска

У меня очень странная проблема.

Мы написали приложение для Windows Phone 8.1 и обновили его до UWP. Отладочная версия приложения отлично работает, однако, когда я запускаю ее в выпуске, я получаю такую ​​ошибку:

Internal.Runtime.TypeLoader.TypeBuilder + MissingTemplateException: возникло исключение типа '{0}'. Internal.Runtime.TypeLoader.TypeBuilder + MissingTemplateException. Для получения дополнительной информации посетите http://go.microsoft.com/fwlink/?LinkId=623485 < / а>

При попытке открыть конкретную ViewModel (работает с MvvmCross). Это происходит только с этой ViewModel, хотя это никоим образом не кажется особенным.

Обратите внимание, что я компилирую его с включенным .NetNative. Если я отключу его, оно будет работать нормально, но я не могу выпустить приложение в магазин без него.

Любая помощь будет принята с благодарностью.


person CKII    schedule 24.12.2015    source источник


Ответы (2)


Это одно из исключений времени выполнения в .NET Native. Скорее всего, вы можете обойти это, добавив что-нибудь в свой файл Default.rd.xml.

Чтобы правильно диагностировать это, я бы рекомендовал включить компиляцию .NET Native для конфигурации DEBUG вашего проекта (Свойства проекта> BUILD> Включить .Net Native флажок). Затем настройте отладчик так, чтобы он останавливался при первом исключении. Если вы можете перейти к обновлению 1, сообщения станут немного лучше.

Немного покопавшись, я хотел бы знать, что это в итоге. Ошибки такого типа встречаются довольно редко, поэтому было бы неплохо узнать, где мы можем быть лучше. Вы всегда можете отправить нам конкретный отзыв по адресу [email protected].

person MattWhilden    schedule 24.12.2015

Похоже, проблема заключалась в том, что у вызывающей ошибку ViewModel был метод Init, который вернул задачу:

public async Task Init(...)

Исправлено изменением его на недействительное:

public async void Init(...)

Не совсем уверен, почему, но это работает ...

person CKII    schedule 24.12.2015
comment
Рад, что ты снова на ногах, но это определенно любопытно. :-) - person MattWhilden; 25.12.2015
comment
У меня такое же исключение, но в моем случае оно возникает при запуске приложения, поэтому мне непонятно, в чем проблема. Не могли бы вы объяснить, где был вызван метод Init? Может быть, это поможет мне определить мою проблему. - person SebastianR; 05.03.2016