Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przykładowe komunikaty
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.
Problematyka
Problem polega na tym, że zarówno MonoAndroidAssetPrefix, jak i MonoAndroidResourcePrefix powinny być postrzegane jako ścieżki katalogów względnych. Ta informacja jest używana do "usuwania" informacji o katalogu głównym z zasobu lub materiału podczas pakowania aplikacji.
Występuje błąd, ponieważ właściwość zawiera pełną ścieżkę.
Rozważmy na przykład następującą strukturę:
Foo.csproj
MyAssets/
Foo.txt
Subfolder/
Bar.txt
MainActivity.cs
W końcowej wersji .apk oczekujemy, że pliki Foo.txt i Bar.txt będą umieszczone w folderze assets. Aby to zrobić poprawnie, system kompilacji musi znać nazwę folderu, w którym znajdują się zasoby. Domyślnie jest to "Zasoby", ale obsługiwane są również inne nazwy folderów.
W powyższym przykładzie spodziewamy się, że użytkownik ustawi MonoAndroidAssetPrefix wartość "Moje zasoby". To zapewni, że podczas tworzenia pakietów zostanie usunięta część ścieżki "MyAssets" do "Foo.txt" itp. Jeśli MonoAndroidAssetPrefix jest ustawione na /Users/xxx/Foo/MyAssets lub c:\Users\xxx\Foo\MyAssets, zostanie wyświetlony ten komunikat o błędzie.
Rozwiązanie
Poprawka tego problemu polega na tym, że nie należy używać pełnej ścieżki dla wartości MonoAndroidAssetPrefix lub MonoAndroidResourcePrefix. Powinny one być względną ścieżką katalogu zgodną ze ścieżką folderu, w której są przechowywane zasoby.