Comment faire résoudre une erreur PathTooLongException ?
Cause
Les noms de chemins générés dans un projet Xamarin.Android peuvent être assez longs. Par exemple, un chemin d’accès semblable à ce qui suit peut être généré lors d’une build :
C:\Some\Directory\Solution\Project\obj\Debug\library_projects\Xamarin.Forms.Platform.Android\library_project_imports\assets
Sur Windows (où la longueur maximale d’un chemin d’accès est de 260 caractères), une exception PathTooLongException peut être générée lors de la génération du projet si un chemin d’accès généré dépasse la longueur maximale.
Fix
La UseShortFileNames
propriété MSBuild est définie sur True
pour contourner cette erreur par défaut. Lorsque cette propriété a la True
valeur , le processus de génération utilise des noms de chemin d’accès plus courts pour réduire la probabilité de produire une PathTooLongException.
Par exemple, lorsque UseShortFileNames
est défini sur True
, le chemin d’accès ci-dessus est raccourci en chemin d’accès semblable à ce qui suit :
C:\Some\Directory\Solution\Project\obj\Debug\lp\1\jl\assets
Pour définir cette propriété manuellement, ajoutez la propriété MSBuild suivante au fichier .csproj du projet :
<PropertyGroup>
<UseShortFileNames>True</UseShortFileNames>
</PropertyGroup>
Si la définition de cet indicateur ne résout pas l’erreur PathTooLongException , une autre approche consiste à spécifier une racine de sortie intermédiaire commune pour les projets dans votre solution en définissant IntermediateOutputPath
dans le fichier .csproj du projet. Essayez d’utiliser un chemin relativement court. Par exemple :
<PropertyGroup>
<IntermediateOutputPath>C:\Projects\MyApp</IntermediateOutputPath>
</PropertyGroup>
Pour plus d’informations sur la définition des propriétés de build, consultez Processus de génération.