Каталог времени выполнения отладки Android и выпуска (MAUI)Android

Форум для тех, кто программирует под Android
Anonymous
Каталог времени выполнения отладки Android и выпуска (MAUI)

Сообщение Anonymous »

В моем приложении MAUI мне нужно, чтобы все сборки выполняли некоторое отражение типов во время выполнения.
Для этого, частично следуя этому посту, я особенно использую эту строку кода:

Код: Выделить всё

var runtimeAssemblies = new HashSet(Directory.GetFiles(RuntimeEnvironment.GetRuntimeDirectory(), "*.dll"));
Это отлично работает в Windows в режимах отладки и выпуска.
Но в эмуляторе Android мое приложение не работает при выпуске
код> только. В конечном итоге я вижу разницу между режимами Debug и Release в RuntimeEnvironment.GetRuntimeDirectory(), которая в конечном итоге приведет к сбою моего приложения.
Действительно, в Debug режим, RuntimeEnvironment.GetRuntimeDirectory() return

/data/data/com.compagnyname.myprojectname/files/.__override__
тогда как в режиме Release он возвращается

/data/user/0/com Вместо этого .compagnyname.myprojectname

.
Покопавшись в оболочке adb, я обнаружил, что оба /data /data/com.compagnyname.myprojectname/files/.__override__ и /data/user/0/com.compagnyname.myprojectname/files/.__override__ будут созданы при запуске проекта в режиме отладки, в котором будут скопированы все необходимые DLL.
Но в режиме Release ни одна из них не присутствует, хотя на нее есть ссылки. Я подозреваю, что DLL каким-то образом встроена/упакована внутри *.apk (?). Но тогда я не могу использовать MetadataLoadContext для разрешения используемой сборки, как упоминалось выше в другом SO. пост.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ctory-maui

Вернуться в «Android»