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.FileSystemEnumerableIterator1..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.List1.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 文件夹!

https://www.npmjs.com/package/ember-clean-tmp