2010-09-23 18 views
2

根據我提出的以前的問題(請參閱here)和以下msdn線程,爲什麼當vshost.exe的完整路徑> = 127個字符時調試失敗?Visual Studio 2008 - 爲什麼vshost.exe具有126個字符的完整路徑限制?

若要重現該問題,請使用> = 127個字符的完整路徑(目錄+程序集名稱+ vshost.exe)創建項目。然後按F5開始調試,程序將立即退出。

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

+3

我的直覺告訴我,你必須向Microsoft詢問這個問題。特別是因爲知道答案根本不會幫助你,爲什麼不同時提供一個目擊? http://connect.microsoft.com/VisualStudio – 2010-09-23 17:49:16

+0

我現在正在執行此操作。我將在提交時發佈。 – 2010-09-23 17:51:07

+0

以下是MSFT連接權證的鏈接:https://connect.microsoft.com/VisualStudio/feedback/details/604075/visual-studio-2008-why-does-the-vshost-exe-have-a-full -path-limit-of-126-characters – 2010-09-23 17:56:41

回答

1

這是衆所周知的問題。來自MS的推薦一直不使用XP/Vista上項目位置的默認目錄。特別要從根目錄創建「項目」目錄。

順便說一句,這是MS爲了「用戶」而去掉「Documents and Settings」文件夾的主要原因之一。由於各種原因,他們無法解決這個問題。

UPDATE

BTW,這裏是我們的favorite host一點閱讀。另外,你可能想看看這個MS article

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

真正的問題是,如果你的項目文件夾+項目名稱+ 80個字符超過MAX_PATH那麼它將無法工作。他們開始真正在API部分對prevent buffer overflows執行此操作,該部分不符合unicode,因此無法利用32,000個字符路徑。

此外,企業圖書館團隊碰到the same issues

在vshost的情況下,考慮完整路徑包括80 + 126(這是206),使vshost所需的其他東西不足54個字符。當然,你必須考慮斜線和其他事項。

簡單的答案就是移動你的項目或者弄清楚如何減少路徑。

+2

他們無法同時消除「程序文件」。無論如何,只有「程序」有什麼問題? – 2010-09-23 19:42:26

+0

有趣的是,是否有相關的知識庫文章或其他連接權證(不是我剛纔打開的)? – 2010-09-23 20:45:41

+0

我絕對記得在MSDN文章的某處閱讀有關此問題的內容。我也遇到過與Visual Studio類似的問題,不允許我創建具有很長路徑的新解決方案。由於某些原因,它需要保留字符。這些問題必須相互關聯。如果我能找到這篇文章,我會回郵。 – 2010-09-23 22:37:35

相關問題