我们正在制作一个框架并将源代码出售给客户。昨天,一位客户报告说,由于路径太长,他无法构建源。我发现我们在源代码中拥有的最长路径是 NuGet 生成的路径,它是:
project\packages\EnterpriseLibrary.ExceptionHandling.Logging.5.0.505.0\lib\NET35\Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.dll
。
连同客户放置源代码的文件夹名称(不是很长,大约 90 个字符),以及当它使用 c:\blablabla... ..\.. 组成绝对路径时奇怪的 VS 行为\..\something
它超过了 260 个字符的限制,他的 VS 无法编译解决方案。
我能解决这个问题吗?我无法要求客户将源代码放置在更靠近磁盘根目录的位置——他对在公司内部放置代码的位置有自己的协议(protocol)。我也可以重命名这个 dll,但我不想失去对 NuGet 的支持。
最佳答案
您无能为力。如果您的源代码以合理的路径编译(比方说“D:\ExternalCode\yourcode”),那么您的客户真的可以处理这个问题。如果客户决定您的代码必须在您的解决方案之前已经有 240 个字符的路径中编译怎么办?你会缩短你所有的名字吗?
您需要做的是提供一份简洁明了的手册,说明如何构建您的代码。由路径长度引起的错误需要解决,您必须提供解决方案。该解决方案很可能是“缩短我们的代码部署到的路径”。您无法适应所有其他公司的规章制度。
关于c# - 使用 NuGet 构建时的长路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19654920/