Návody vyřešit chybu PathTooLongException?
Příčina
Vygenerované názvy cest v projektu Xamarin.Android můžou být poměrně dlouhé. Například během sestavení by se mohla vygenerovat cesta podobná následujícímu:
C:\Some\Directory\Solution\Project\obj\Debug\library_projects\Xamarin.Forms.Platform.Android\library_project_imports\assets
Ve Windows (kde maximální délka cesty je 260 znaků), může být při sestavování projektu vytvořena výjimka PathTooLongException , pokud vygenerovaná cesta překročí maximální délku.
Oprava
Vlastnost UseShortFileNames
MSBuild je nastavena na True
obcházení této chyby ve výchozím nastavení. Pokud je tato vlastnost nastavena na True
, proces sestavení používá kratší názvy cest ke snížení pravděpodobnosti vytvoření PathTooLongException.
Pokud je například UseShortFileNames
nastavená hodnota True
, výše uvedená cesta se zkracuje na cestu, která je podobná následující:
C:\Some\Directory\Solution\Project\obj\Debug\lp\1\jl\assets
Chcete-li tuto vlastnost nastavit ručně, přidejte do souboru .csproj projektu následující vlastnost MSBuild:
<PropertyGroup>
<UseShortFileNames>True</UseShortFileNames>
</PropertyGroup>
Pokud nastavení tohoto příznaku neopraví chybu PathTooLongException, dalším přístupem je zadat společný zprostředkující kořen výstupu pro projekty v řešení nastavením IntermediateOutputPath
v souboru .csproj projektu. Zkuste použít relativně krátkou cestu. Příklad:
<PropertyGroup>
<IntermediateOutputPath>C:\Projects\MyApp</IntermediateOutputPath>
</PropertyGroup>
Další informace o nastavení vlastností sestavení naleznete v tématu Proces sestavení.