Visual Studio和项目引用的最大路径长度

Dan*_*ams 14 .net visual-studio

我们有许多项目,每个项目都深入到文件夹结构中.当一组项目需要引用不同文件夹中的项目时,引用可能会失败,因为VS中的相对路径太长.

例如,项目1将位于:

C:\ folderA \文件夹1 \文件夹2 ...\folderN\myProject1.csproj

它引用了另一个项目:

C:\ FolderB中\文件夹1 \文件夹2 ...\folderN\myProject2.csproj

引用的HintPath存储为相对路径,如............\folderB\folder1\folder2 ...\folderN\myProject2.csproj

当VS加载解决方案时,它无法解析引用,因为它构建的绝对路径包含许多../,因此路径超过256个字符.构建失败了.

我们通过编辑csproj并输入绝对路径来修复它,这很愚蠢.

什么是最好的解决方案?

Ale*_*kov 3

简短的回答 - 不要这样做,它不会造成伤害。考虑降低层次结构并使相关项目紧密结合。

MSBuild 是托管应用程序,CLR 对路径/文件名长度有大约 256 个字符的限制...

  • 是的,减少文件夹的深度会有帮助。我会测试一下。我们将所有项目工件存储在 SVN 中,这意味着在我们拥有 *.sln 文件之前,实际软件已经下降了大约 4 个级别。但总体而言,这需要对许多项目进行更改。 (2认同)