8

我最近开始ResolveLibraryProjectImports: PathTooLongException在我的 xamarin android 项目中收到错误xamarin.forms。当我在网上查找所有解决方案时,都说要重新定位项目。有什么方法可以更改项目属性或重新映射可以帮助我避免重新定位整个项目的方法吗?

更新:

由于赏金和问题已经出现在下面,这就是为什么我正在寻找替代解决方案来重新定位:

目录层次结构的存在是有原因的。如果不是每个人都会拥有一大堆文件夹作为根目录。它们旨在让我们组织一切。我的情况也是如此。我已经组织了所有基于文件夹的云、代码、框架等。在我使用过的所有框架中,我从来没有因为项目的内部需求而重新定位项目。所以,我看不出有什么理由需要将项目从所有这些文件夹中移出(这也意味着从云中移出)并将它们放在与其他项目分开的某个位置,只是因为项目需要它。

4

4 回答 4

4

我之前遇到过同样的问题,这是我发现的:

Windows 有一个最大路径长度限制。您可以在Windows 命名文件、路径和命名空间中看到它:

最大路径长度限制在 Windows API 中(以下段落中讨论了一些例外情况),路径的最大长度为 MAX_PATH,定义为 260 个字符。本地路径按以下顺序构造:驱动器号、冒号、反斜杠、由反斜杠分隔的名称组件和终止空字符。例如,驱动器 D 上的最大路径是“D:\some 256-character path string”,其中“”表示当前系统代码页的不可见终止空字符。(字符 < > 在此处用于视觉清晰,不能成为有效路径字符串的一部分。)这就是您遇到问题的原因。

您可以缩短项目的目录路径来解决这个问题,另一个解决方案是使用长路径工具。但正如皮尔斯博根所说

避免此问题的最简单方法是将源移动到 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

于 2017-11-10T16:02:12.397 回答
2

即使将我的项目移动到驱动器的根目录,我也遇到了这个问题。然而,在将 Visual Studio 更新到最新版本 (15.7.0) 后,更改存档输出目录的选项已添加到 IDE:

Tools --> Options--> Android Settings : Archives Location

在此处输入图像描述

通过将此位置设置为尽可能靠近驱动器根目录的目录(例如 D:\Archives),此错误将消失。

于 2018-05-08T11:15:17.190 回答
2

我也遇到过这个问题。将 VS 2017 更新到 15.4.0 为我修复了它。将它移近 C:\ 并没有改变任何东西。

于 2017-11-15T07:38:37.297 回答
2

从字面上看,我尝试构建的每个新 Xamarin Forms 项目第一次在 Android 项目上遇到 MAXPATH 错误(因为我的默认 Projects Github 文件夹路径已经很长)。

我有一个简单且常规的修复程序,对我来说 100% 的时间都适用,因为在我的情况下,罪魁祸首是中间文件夹或 [obj] 文件夹。

试试这个:在记事本中打开 .csproj 文件。确保它是 Android 项目的 .csproj。在第一个<PropertyGroup>标签下添加这个元素:

`<BaseIntermediateOutputPath>C:/Intermediate/Android/YourProjectName</BaseIntermediateOutputPath>` 

现在只需重新加载项目并再次尝试构建。希望这可以帮助!

于 2020-04-16T20:08:53.317 回答