如何解决 PathTooLongException 错误?
原因
Xamarin.Android 项目中生成的路径名可能很长。 例如,可能会在构建过程中生成如下路径:
C:\Some\Directory\Solution\Project\obj\Debug\library_projects\Xamarin.Forms.Platform.Android\library_project_imports\assets
在 Windows 上(路径的最大长度为 260 个字符),如果生成的路径超过最大长度,则在构建项目时可能会生成 PathTooLongException。
Fix
默认情况下,将 UseShortFileNames
MSBuild 属性设置为 True
以规避此错误。 如果将此属性设置为 True
时,构建过程将使用较短的路径名称来减少生成 PathTooLongException 的可能性。
例如,将 UseShortFileNames
设置为 True
时,以上路径将缩短为类似以下的路径:
C:\Some\Directory\Solution\Project\obj\Debug\lp\1\jl\assets
若要手动设置此属性,请将以下 MSBuild 属性添加到项目 .csproj 文件中:
<PropertyGroup>
<UseShortFileNames>True</UseShortFileNames>
</PropertyGroup>
如果设置此标记不修复 PathTooLongException 错误,则另一种方法通过在项目 .csproj 文件中设置 IntermediateOutputPath
来为解决方案中的项目指定公共中间输出根。 尝试使用相对较短的路径。 例如:
<PropertyGroup>
<IntermediateOutputPath>C:\Projects\MyApp</IntermediateOutputPath>
</PropertyGroup>
有关设置生成属性的更多信息,请参阅生成过程。