Visual Studio 2008 - 为什么vshost.exe的完整路径限制为126个字符?

时间:2010-09-23 17:42:51

标签: c# .net visual-studio-2008 windows-xp

根据我提出的上一个问题(请参阅here)和以下msdn线程,为什么在vshost.exe的完整路径为> = 127个字符时调试失败?

要重现此问题,请创建一个具有> = 127个字符的完整路径(目录+程序集名称+ vshost.exe)的项目。然后按F5开始调试,程序将立即退出。

注意,我的环境是Visual Studio 2008,C#,Windows XP,.NET 3.5 SP1。

1 个答案:

答案 0 :(得分:1)

这是众所周知的问题。 MS推荐的一段时间是不使用XP / Vista上项目位置的默认目录。特别是从根目录创建“Projects”目录。

顺便说一下,这是MS取消“文档和设置”文件夹以支持“用户”的主要原因之一。由于各种原因,他们无法解决这个问题。

<强>更新

顺便说一句,这是我们favorite host的一点读物。另外,您可能需要查看此MS article

而且,对于踢球:https://connect.microsoft.com/VisualStudio/feedback/details/338223/envdte80-solution2-addfromtemplate-reports-path-too-long-incorrectly

真正的一点是,如果您的项目文件夹+项目名称+ 80个字符超过MAX_PATH,那么它将无法工作。他们开始在{+ 3}}中对不符合unicode的API部分强制执行此操作,因此无法利用32,000个字符路径。

此外,企业图书馆团队遇到了prevent buffer overflows

对于你的vshost,考虑完整路径包括80 + 126(即206),其中vshost需要的其他东西少于54个字符。当然,你必须考虑斜线和其他事情。

简单的答案是移动您的项目或以其他方式弄清楚如何减少路径。