【问题标题】:Visual Studio 2008 - Why does the vshost.exe have a full path limit of 126 characters?Visual Studio 2008 - 为什么 vshost.exe 的完整路径限制为 126 个字符?
【发布时间】:2011-04-16 10:00:28
【问题描述】:

基于我之前提出的问题(参见here)和以下msdn 线程,为什么当vshost.exe 的完整路径>= 127 个字符时调试会失败?

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

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

【问题讨论】:

  • 我的直觉告诉我你必须向微软询问这个问题。尤其是因为知道答案对您毫无帮助,为什么不同时提交目击报告呢? connect.microsoft.com/VisualStudio
  • 我现在正在这样做。我会在提交时发布。
  • 它可能达到了 DOS 命令行 127 个字符的限制。
  • @Rob 哇,除非你在开玩笑,否则你一定是在使用古老版本的 MS-DOS...

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


【解决方案1】:

这是众所周知的问题。一段时间以来,MS 的建议是不要将默认目录用于 XP / Vista 上的项目位置。专门从根目录创建一个“项目”目录。

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

更新

顺便说一句,这是来自我们favorite host 的一点读物。另外,你可能想看看这个MS article

还有,踢球:https://connect.microsoft.com/VisualStudio/feedback/details/338223/envdte80-solution2-addfromtemplate-reports-path-too-long-incorrectly

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

另外,企业图书馆团队遇到了the same issues

对于您的 vshost,请考虑完整的路径包括 80 + 126(即 206),这样您就剩下不到 54 个字符用于 vshost 在线需要的其他内容。当然,您必须考虑斜线和其他因素。

简单的答案是移动您的项目或找出如何减少路径。

【讨论】:

  • 很遗憾他们不能同时取消“程序文件”。只是“程序”有什么问题?
  • 有意思,有没有相关的知识库文章或其他连接票(除了我刚刚打开的)?
  • 我绝对记得在某处的 MSDN 文章中读到过这个问题。我也遇到了与 Visual Studio 类似的问题,它不允许我创建路径很长的新解决方案。由于某种原因,它需要保留字符。这些问题必须相互关联。如果我能找到这篇文章,我会回帖。
猜你喜欢
  • 1970-01-01
  • 2010-11-04
  • 2014-12-09
  • 2011-07-13
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
  • 2017-03-16
相关资源
最近更新 更多