Ошибка компиляции UWP с включенной опцией. net native: Внутренняя ошибка компилятора: указанное преобразование недопустимо - PullRequest
0 голосов
/ 19 марта 2020

У меня есть проект UWP, где сборка работает в режиме отладки, но сборка завершается неудачно в режиме выпуска, где выбран net собственный компилятор. Проекты UWP имеют много внешних сторонних библиотек, таких как RTSP client Sharp. net media foundation. Отображаемая ошибка:

"
1>  Processing application code
1>  Computing application closure and generating interop code
1>    Loading 84 modules...
"some warnings displayed....
C:\Users\kR\.nuget\packages\microsoft.net.native.compiler\2.2.8-rel-28605-00\tools\Microsoft.NetNative.targets(801,5): error : Internal compiler error: **Specified cast is not valid.**"

Не указано, где находится ошибка.

Я пробовал различные значения в Default.rd. xml, но не могу избавиться от этого. ошибка, и я не думаю, что это правильный способ обойти ошибку

попытки 1) Изменение ключа Dynami c на Publi c или PublicAndInternal не помогло , 2) При удалении я получаю другую ошибку «Внутренняя ошибка компилятора: тип« MediaFoundation.Mis c .PVMarshaler »был указан в методе« IMFAttributes.GetItem (Guid, PropVariant) », но не был найден необходимым анализом». Это исчезает, когда я переустанавливаю ключ Dynami c в Required All или Publi c или Publi c Internal. Я предполагаю, что это может быть связано с каким-то приведением, но это очень много времени go через весь код, чтобы выяснить место ошибки.

Нам понадобится наше приложение в windows магазине и, следовательно, мы не можем снять отметку. net режим встроенного компилятора

Вопросы) 1. Как определить местоположение ошибки: Внутренняя ошибка компилятора: C: \ Users \ kR.nuget \ packages \ microsoft. net .native.compiler \ 2.2.8-rel-28605-00 \ tools \ Microsoft.NetNative.targets (801,5): ошибка: Внутренняя ошибка компилятора: указанное преобразование недопустимо. " 2. Любые подсказки о том, где проблема может быть и как продолжить? 3. Любые настройки, которые я могу использовать, чтобы игнорировать ошибку, поскольку сборка работает нормально в режиме выпуска после отключения. net собственный компилятор

1 Ответ

0 голосов
/ 02 апреля 2020

Эта ошибка произойдет при использовании любой библиотеки, которая будет использовать API DirectX / windows API с p / invoke. В общем, убедитесь, что любые сторонние библиотеки собираются в режиме выпуска в пустом проекте, прежде чем использовать их в своем проекте UWP. Они могут работать, но сборка магазина Microsoft выдает ошибку.

Конкретно в моем проекте: я подумал, что проблема возникает, когда я добавляю основание носителя. net библиотека в качестве ссылки Путь к библиотеке: [ссылка] sourceforge.net / projects / mfnet / files / m fnet (я перенес вышеупомянутый проект на. net стандарт 2.0 для поддержки UWP) Поэтому альтернативой является 1. удаление MediaFoundation lib 2. Вы не публикуете sh в MS Store -

Подробности: см. Комментарии в https://docs.microsoft.com/answers/questions/15463/uwp-compilation-error-with-net-native-compile-opti.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...