У меня есть приложение C #, ориентированное на UWP / Windows-10 для настольных компьютеров & мобильные платформы. Приложение C # вызывает нативный компонент, написанный на C ++. Мой родной код C ++ имеет расширения компонентов Visual C ++ (C ++ / CX). Затем нативный код упаковывается как .dll & в комплекте с приложением.
Приложение отлично работает на рабочем столе, т.е. когда я запускаю его в x86 или же x64, Локальная машина , но сталкивается с этой ошибкой при работе на мобильном телефоне, то есть на Мобильный эмулятор x86 или на ARM устройство (Nokia 950)
Указанный модуль не может быть найден. (Исключение из HRESULT:
0x8007007e) «: нулевая
По сути, я не могу загрузить свои нативные библиотеки в мобильный Режим.
Я уже читал это Страница MSDN. Мой родной код C ++ не использует какие-либо неподдерживаемые API.
Я пробовал оба / «DWINAPI_FAMILY = WINAPI_FAMILY_APP» а также / D «WINAPI_FAMILY = WINAPI_FAMILY_PHONE_APP», но это не помогло.
Есть ли другой набор инструментов, который мне нужно использовать при создании нативного .dll для мобильных устройств? Мой рабочий стол & Мобильные нативные .dll используют те же настройки / флаги компоновщика.
Любая помощь будет высоко оценена
Кажется, это проблема Microsoft. У меня есть контакты с некоторыми менеджерами программ Microsoft. Я предоставил им пример проекта, который демонстрирует это поведение.
Они проанализировали пример проекта & сказал, что это действительно проблема со стороны Microsoft.
Проблема здесь заключается в том, что при развертывании приложения в режиме рабочего стола (локальный компьютер x86 или x64) »ucrt уже доступен на платформе» & следовательно, приложение работает нормально.
На мобильной платформе ucrt не доступен & будет выталкиваться только тогда, когда на него ссылаются в проекте. Но из-за некоторой ошибки на платформе Microsoft этого, похоже, не происходит & Я не смог запустить приложение на мобильном устройстве / эмуляторе.
Других решений пока нет …