我最近开始在ResolveLibraryProjectImports: PathTooLongException
内的xamarin android项目中收到错误xamarin.forms
。当我在网上查询时,所有解决方案都说要重新安置项目。有没有办法更改项目属性或重新映射的方法可以帮助我避免重新定位整个项目?
更新:
由于赏金,因为问题已经出现在下面,这就是为什么我正在寻找一个重新定位的替代解决方案:
目录层次结构是有原因的。如果不是每个人都会拥有整个文件夹的根。它们旨在让我们组织一切。我的情况也一样。我已经组织了所有基于云,代码,框架等的文件夹。在我使用的所有框架中,由于项目的内部需求,我从未重新定位项目。因此,我没有看到我需要将项目从所有这些文件夹中移出(这也意味着从云中移除)并将它们放在除了其他项目之外的某个位置的原因,只是因为项目要求它。
答案 0 :(得分:3)
之前我遇到过同样的问题,这是我发现的:
Windows具有最大路径长度限制。您可以在Windows Naming Files, Paths, and Namespaces中看到它:
最大路径长度限制在Windows API中(以下段落中讨论了一些例外),路径的最大长度为MAX_PATH,定义为260个字符。本地路径按以下顺序构成:驱动器号,冒号,反斜杠,由反斜杠分隔的名称组件以及终止空字符。例如,驱动器D上的最大路径是“D:\某个256个字符的路径字符串”,其中“”表示当前系统代码页的不可见的终止空字符。 (字符<>在此处用于视觉清晰度,不能是有效路径字符串的一部分。)这就是您遇到问题的原因。
您可以缩短项目的目录路径以解决此问题,另一种解决方案是使用长路径工具。但是PierceBoggan said:
避免此问题的最简单方法是将源移动到C:/驱动器(或路径中字符较少的其他位置)。
此问题已在Xamarin.Android 8.0.2.1
中修复,此版本包含在Visual Studio 2017 15.4.2版中。你可以阅读这份文件:
https://developer.xamarin.com/releases/android/xamarin.android_8/xamarin.android_8.0/#Issues_Fixed
答案 1 :(得分:2)
我也遇到过这个问题。将VS 2017更新为15.4.0为我修复了它。把它移近C:\没有改变任何东西。
答案 2 :(得分:2)
从字面上看,我尝试构建的每个新Xamarin Forms项目都会在Android项目上第一次遇到MAXPATH错误(因为我的默认Projects Github文件夹路径已经很长)。
我有一个简单而常规的修复程序,对我来说100%的时间都可以工作,因为我的罪魁祸首是中间文件夹或[obj]文件夹。
尝试以下操作:在记事本中打开.csproj文件。确保它是用于Android项目的.csproj。在第一个<PropertyGroup>
标签下添加以下元素:
`</BaseIntermediateOutputPath>C:/Intermediate/Android/YourProjectName</BaseIntermediateOutputPath>`
现在只需重新加载项目,然后尝试再次构建即可。希望这会有所帮助!
答案 3 :(得分:0)