Ricerca per categorie risolvere un errore PathTooLongException?
Causa
I nomi di percorso generati in un progetto Xamarin.Android possono essere molto lunghi. Ad esempio, è possibile generare un percorso simile al seguente durante una compilazione:
C:\Some\Directory\Solution\Project\obj\Debug\library_projects\Xamarin.Forms.Platform.Android\library_project_imports\assets
In Windows (dove la lunghezza massima per un percorso è di 260 caratteri), è possibile generare un'eccezione PathTooLongException durante la compilazione del progetto se un percorso generato supera la lunghezza massima.
Fix
La UseShortFileNames
proprietà MSBuild è impostata su True
per aggirare questo errore per impostazione predefinita. Quando questa proprietà è impostata su True
, il processo di compilazione usa nomi di percorso più brevi per ridurre la probabilità di produrre un oggetto PathTooLongException.
Ad esempio, quando UseShortFileNames
è impostato su True
, il percorso precedente viene abbreviato in percorso simile al seguente:
C:\Some\Directory\Solution\Project\obj\Debug\lp\1\jl\assets
Per impostare questa proprietà manualmente, aggiungere la proprietà MSBuild seguente al file con estensione csproj del progetto:
<PropertyGroup>
<UseShortFileNames>True</UseShortFileNames>
</PropertyGroup>
Se l'impostazione di questo flag non corregge l'errore PathTooLongException, un altro approccio consiste nel specificare una radice di output intermedia comune per i progetti nella soluzione impostando IntermediateOutputPath
nel file con estensione csproj del progetto. Provare a usare un percorso relativamente breve. Ad esempio:
<PropertyGroup>
<IntermediateOutputPath>C:\Projects\MyApp</IntermediateOutputPath>
</PropertyGroup>
Per altre informazioni sull'impostazione delle proprietà di compilazione, vedere Processo di compilazione.