OmniSharp 在一个项目中无法正常运行,但在另一个项目中
OmniSharp not functioning properly in one project but is in another
我有两个相同的项目,我正在使用它们创建一个完整的堆栈 Ember web-ui 和 .NET Core JSON API。我注意到在一个项目中,OmniSharp 没有提供 include using
语句,但它在另一个项目中提供了。此外,对于 OmniSharp 不提供 include using
语句的项目,OmniSharp 确实提供了 remove unused usings
的选项。当我 select 这个选项时,它会删除除两个 using
语句之外的所有语句,这是不正确的,因为现在应用程序将不会 build。
我尝试卸载 VSCode 并删除 C:\windows\users
路径中的 .vscode 文件夹,其中包含已安装的扩展,以及删除所有临时文件。但是,这并不能解决问题。
考虑到 OmniSharp 在一个项目中工作,但在另一个项目中不工作,那么此时我唯一能想到的是 OmniSharp 是在项目级别配置的,或者给定项目中存在损坏。有没有人遇到过这个问题?关于如何 address/fix 这个有什么想法吗?
注意:我不想删除 OmniSharp 不工作的项目,因为重新创建它需要大约一周的时间。uild。
更新:
经过进一步研究,我在 OmniSharp 日志中发现了以下错误
The project system 'OmniSharp.Script.ScriptProjectSystem' threw
exception during initialization. System.IO.DirectoryNotFoundException:
Could not find a part of the path
'd:...\tmp\broccoli_merge_trees-input_base_path-YLNtHXfX.tmp-private'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator1.CommonInit() at
System.IO.FileSystemEnumerableIterator
1..ctor(String path, String
originalUserPath, String searchPattern, SearchOption searchOption,
SearchResultHandler1 resultHandler, Boolean checkHost) at
System.IO.DirectoryInfo.EnumerateFileSystemInfos(String searchPattern,
SearchOption searchOption) at
Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoWrapper.<EnumerateFileSystemInfos>d__4.MoveNext()
at System.Collections.Generic.List
1.InsertRange(Int32 index,
IEnumerable`1 collection) at
Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase
directory, String parentRelativePath) at
Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase
directory, String parentRelativePath) at
Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase
directory, String parentRelativePath) at
Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase
directory, String parentRelativePath) at
Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase
directory, String parentRelativePath) at
Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase
directory, String parentRelativePath) at
Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Execute()
at
Microsoft.Extensions.FileSystemGlobbing.MatcherExtensions.GetResultsInFullPath(Matcher
matcher, String directoryPath) at
OmniSharp.Script.ScriptProjectSystem.Initalize(IConfiguration
configuration) at
OmniSharp.WorkspaceInitializer.Initialize(IServiceProvider
serviceProvider, CompositionHost compositionHost)
我将问题追溯到 Ember 项目中的 tmp 文件夹,其中充满了损坏的文件和文件夹。我安装了附加组件 Ember clean-tmp 和 运行。清理 tmp 文件夹后,我重新启动 VSCode 并检查了 OmniSharp 日志,异常错误消失了。因此,OmniSharp Using 语句重新开始工作。
故事的寓意:留意那个 tmp 文件夹!
我有两个相同的项目,我正在使用它们创建一个完整的堆栈 Ember web-ui 和 .NET Core JSON API。我注意到在一个项目中,OmniSharp 没有提供 include using
语句,但它在另一个项目中提供了。此外,对于 OmniSharp 不提供 include using
语句的项目,OmniSharp 确实提供了 remove unused usings
的选项。当我 select 这个选项时,它会删除除两个 using
语句之外的所有语句,这是不正确的,因为现在应用程序将不会 build。
我尝试卸载 VSCode 并删除 C:\windows\users
路径中的 .vscode 文件夹,其中包含已安装的扩展,以及删除所有临时文件。但是,这并不能解决问题。
考虑到 OmniSharp 在一个项目中工作,但在另一个项目中不工作,那么此时我唯一能想到的是 OmniSharp 是在项目级别配置的,或者给定项目中存在损坏。有没有人遇到过这个问题?关于如何 address/fix 这个有什么想法吗?
注意:我不想删除 OmniSharp 不工作的项目,因为重新创建它需要大约一周的时间。uild。
更新:
经过进一步研究,我在 OmniSharp 日志中发现了以下错误
The project system 'OmniSharp.Script.ScriptProjectSystem' threw exception during initialization. System.IO.DirectoryNotFoundException: Could not find a part of the path 'd:...\tmp\broccoli_merge_trees-input_base_path-YLNtHXfX.tmp-private'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileSystemEnumerableIterator
1.CommonInit() at System.IO.FileSystemEnumerableIterator
1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler1 resultHandler, Boolean checkHost) at System.IO.DirectoryInfo.EnumerateFileSystemInfos(String searchPattern, SearchOption searchOption) at Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoWrapper.<EnumerateFileSystemInfos>d__4.MoveNext() at System.Collections.Generic.List
1.InsertRange(Int32 index, IEnumerable`1 collection) at Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase directory, String parentRelativePath) at Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase directory, String parentRelativePath) at Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase directory, String parentRelativePath) at Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase directory, String parentRelativePath) at Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase directory, String parentRelativePath) at Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase directory, String parentRelativePath) at Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Execute() at Microsoft.Extensions.FileSystemGlobbing.MatcherExtensions.GetResultsInFullPath(Matcher matcher, String directoryPath) at OmniSharp.Script.ScriptProjectSystem.Initalize(IConfiguration configuration) at OmniSharp.WorkspaceInitializer.Initialize(IServiceProvider serviceProvider, CompositionHost compositionHost)
我将问题追溯到 Ember 项目中的 tmp 文件夹,其中充满了损坏的文件和文件夹。我安装了附加组件 Ember clean-tmp 和 运行。清理 tmp 文件夹后,我重新启动 VSCode 并检查了 OmniSharp 日志,异常错误消失了。因此,OmniSharp Using 语句重新开始工作。
故事的寓意:留意那个 tmp 文件夹!