Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примеры сообщений
error XA1041: The MSBuild property 'MonoAndroidAssetPrefix' has an invalid value of 'c:\Foo\Assets'. The value is expected to be a directory path representing the relative location of your Assets or Resources.
error XA1041: The MSBuild property 'MonoAndroidResourcePrefix' has an invalid value of 'c:\Foo\Resources'. The value is expected to be a directory path representing the relative location of your Assets or Resources.
Проблема
Проблема заключается в том, что оба MonoAndroidAssetPrefix и MonoAndroidResourcePrefix предполагается быть относительными путями к каталогу. Эта информация используется для удаления сведений о корневом каталоге из файла или ресурса во время упаковки приложения.
Возникает ошибка, так как свойство содержит полный путь.
Например, рассмотрим следующую структуру:
Foo.csproj
MyAssets/
Foo.txt
Subfolder/
Bar.txt
MainActivity.cs
В конечном итоге .apk мы ожидаем, что файлы Foo.txt и Bar.txt будут помещены в папку assets . Чтобы сделать это правильно, системе сборки необходимо знать имя папки, в которой находятся ресурсы. По умолчанию это "Ресурсы", но другие имена папок также поддерживаются.
В приведенном выше примере предполагается, что пользователь присвоит MonoAndroidAssetPrefix значение MyAssets. Это обеспечит удаление части "MyAssets" из пути к "Foo.txt" и т. д. во время упаковки. Если MonoAndroidAssetPrefix задано значение /Users/xxx/Foo/MyAssets или c:\Users\xxx\Foo\MyAssets вы увидите это сообщение об ошибке.
Решение
Исправление этого заключается в том, чтобы не использовать полный путь для значений MonoAndroidAssetPrefix или MonoAndroidResourcePrefix. Это должны быть относительные пути к каталогам, которые соответствуют путям к папкам, в которых хранятся ресурсы.