首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VisualStudio PathTooLongException

VisualStudio PathTooLongException
EN

Stack Overflow用户
提问于 2019-07-04 13:24:29
回答 2查看 964关注 0票数 2

我遇到了VisualStudio的问题--2017年和2019年。如果我试图打开我的解决方案,我会得到以下错误:

VS2019中的错误消息有点不同,但含义相同。在我研究ActivityLog文件时,只有这个节点对这个问题感兴趣:

代码语言:javascript
复制
<entry>
<record>698</record>
<time>2019/07/03 08:14:00.064</time>
<type>Error</type>
<source>Editor or Editor Extension</source>
<description>System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.&#x000D;&#x000A;
at System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32  maxPathLength, Boolean expandShortPaths)&#x000D;&#x000A;
   at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)&#x000D;&#x000A;
   at System.IO.Path.InternalGetDirectoryName(String path)&#x000D;&#x000A;
   at Microsoft.VisualStudio.ErrorListPkg.PathColumnDefinition.GetCachedDirectoryName(ITableEntryHandle entry)&#x000D;&#x000A;
   at Microsoft.VisualStudio.ErrorListPkg.PathColumnDefinition.TryCreateStringContent(ITableEntryHandle entry, Boolean truncatedText, Boolean singleColumnView, String&amp; content)&#x000D;&#x000A;
   at Microsoft.VisualStudio.Shell.TableControl.TableEntryHandleExtensions.TryCreateStringContent(ITableEntryHandle entry, ITableColumnDefinition column, Boolean truncatedText, Boolean singleColumnView, String&amp; content)&#x000D;&#x000A;
   at Microsoft.VisualStudio.Shell.TableControl.Implementation.TableControl.GenerateFiltersForColumn(UpdateResults results, ITableColumnDefinition columnDefinition)&#x000D;&#x000A;
   at Microsoft.VisualStudio.Shell.TableControl.Implementation.TableControl.UpdateEntryFilters(UpdateResults results, HashSet`1 variableColumns)&#x000D;&#x000A;
   at Microsoft.VisualStudio.Shell.TableControl.Implementation.TableControl.UpdateEntries(HashSet`1 variableColumns, Boolean anyColumnChanges, List`1&amp; frozenSinksAwaitingDisposal)&#x000D;&#x000A;
   at Microsoft.VisualStudio.Shell.TableControl.Implementation.TableControl.&lt;UpdateEntriesAsync&gt;d__182.MoveNext()&#x000D;&#x000A;
--- End of stack trace from previous location where exception was thrown ---&#x000D;&#x000A;
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)</description>
</entry>

有没有办法确切地找出哪条路是错的?我怀疑SpecFlow是导致这个问题的原因。但如果我禁用这句话,什么都不会改变。

另一个队友并没有用同样的解决方案来解决这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-08 09:49:12

我不知何故去掉了这条错误信息。我不明白怎么做,但让我分享一下我做过的步骤。

  1. 我开始逐个从解决方案中删除项目,以找出是什么项目导致了问题。
  2. 一旦我发现了坏的地方,我就会在GIT上恢复所有的变化。
  3. 对于此项目中的文件和文件夹,我重复了这种方法。当我删除一些文件并重新启动VS时,问题消失了。
  4. 再次在GIT上恢复所有更改。
  5. 瞧,这个错误在2017年和2019年都是历史。SLN或CSPROJ文件中没有任何更改。
票数 0
EN

Stack Overflow用户

发布于 2020-10-23 08:13:46

由于我的路径相当长,我也遇到了一些这样的PathTooLongExceptions。这是尤指。VS项目使用相对路径的情况。显然,缩短路径会解决很多问题。

但是在对您的开发环境进行这一相当耗时的大修之前,您可以做一些事情:

  1. 使用具有较短路径的符号链接或连接(例如mklink /J M.E.D.A Microsoft.Extensions.DependencyInjection.Abstractions) ),并在项目文件中使用这些链接或连接。
  2. 使用绝对路径:相对路径可能在幕后变得非常长,因为Visual可能引用%(FullPath),它很快就超过了260个字符

上述问题解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56888970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档