Для этого, частично следуя этому посту, я особенно использую эту строку кода:
Код: Выделить всё
var runtimeAssemblies = new HashSet(Directory.GetFiles(RuntimeEnvironment.GetRuntimeDirectory(), "*.dll"));Но в эмуляторе 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/ user/0/com.compagnyname.myprojectname/.__override__ также существует и содержит все нужные мне файлы DLL сборки.
Итак, перед жестким кодированием .__override__ для этот путь в режиме Release, которого я хочу избежать, если это возможно, существует ли более согласованный встроенный путь к каталогу времени выполнения, который работает как для режима Debug, так и для Release?
Подробнее здесь: https://stackoverflow.com/questions/791 ... ctory-maui
Мобильная версия