Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Messaggi di esempio
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.
Issue
Il problema è che sia MonoAndroidAssetPrefix sia MonoAndroidResourcePrefix devono essere percorsi di directory relativi. Queste informazioni vengono usate per eliminare le informazioni della directory radice dall'asset o dalla risorsa durante l'impacchettamento dell'app.
L'errore viene generato perché la proprietà contiene un percorso completo.
Si consideri ad esempio la struttura seguente.
Foo.csproj
MyAssets/
Foo.txt
Subfolder/
Bar.txt
MainActivity.cs
Nella finale .apk ci aspettiamo che i file Foo.txt e Bar.txt vengano inseriti nella assets cartella . Per eseguire questa operazione correttamente, il sistema di compilazione deve conoscere la name cartella in cui si trovano gli asset. Per impostazione predefinita, si tratta di "Assets", ma è necessario supportare anche altri nomi di cartella.
Nell'esempio precedente ci aspetteremmo che l'utente imposti il valore MonoAndroidAssetPrefix su "MyAssets". In questo modo si garantisce che la parte "MyAssets" del percorso a "Foo.txt" e così via venga rimossa durante la creazione del pacchetto. Se l'oggetto MonoAndroidAssetPrefix è impostato su /Users/xxx/Foo/MyAssets o c:\Users\xxx\Foo\MyAssets verrà visualizzato questo messaggio di errore.
Soluzione
La correzione per questa operazione non prevede l'uso di un percorso completo per i valori di MonoAndroidAssetPrefix o MonoAndroidResourcePrefix. Devono essere un percorso di directory relativo che corrisponde al percorso della cartella in cui vengono archiviati gli asset.