Sdílet prostřednictvím


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í.