OmniSharp在一个项目中无法正常运行,但在另一个项目中

时间:2019-02-22 16:05:18

标签: ember.js visual-studio-code intellisense vscode-settings omnisharp

我有两个相同的项目,正在使用.NET Core JSON API创建完整的Ember Web-ui堆栈。我注意到在一个项目中,OmniSharp没有提供include using语句,但是在另一个项目中提供了该语句。此外,对于OmniSharp不提供include using语句的项目,OmniSharp确实提供了remove unused usings的选项。当我选择此选项时,它将删除除两个using之外的所有语句,这是不正确的,因为现在无法构建应用程序。

我尝试卸载VSCode并删除C:\windows\users路径中的.vscode文件夹,该路径包含已安装的扩展名,以及删除所有临时文件。但是,这不能解决问题。

考虑到OmniSharp在一个项目中起作用,而不是在另一个项目中起作用,那么我现在唯一想到的就是OmniSharp是在项目级别配置的,或者给定项目中存在损坏。有没有人遇到过这个问题?关于如何解决/解决此问题的任何想法?

注意:我不希望删除OmniSharp无法使用的项目,因为重建它大约需要一周的时间。

更新

经过进一步研究,我在OmniSharp日志中发现以下错误

  

项目系统'OmniSharp.Script.ScriptProjectSystem'被抛出   初始化期间发生异常。 System.IO.DirectoryNotFoundException:   找不到路径的一部分   'd:... \ tmp \ broccoli_merge_trees-input_base_path-YLNtHXfX.tmp \ 1-private'。在System.IO .__ Error.WinIOError(Int32 errorCode,可能是StringFullPath)   在System.IO.FileSystemEnumerableIterator 1.CommonInit() at System.IO.FileSystemEnumerableIterator 1..ctor(字符串路径,字符串   originalUserPath,字符串searchPattern,SearchOption searchOption,   SearchResultHandler 1 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   目录,字符串parentRelativePath)位于   Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase   目录,字符串parentRelativePath)位于   Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase   目录,字符串parentRelativePath)位于   Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase   目录,字符串parentRelativePath)位于   Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase   目录,字符串parentRelativePath)位于   Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Match(DirectoryInfoBase   目录,字符串parentRelativePath)位于   Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext.Execute()   在   Microsoft.Extensions.FileSystemGlobbing.MatcherExtensions.GetResultsInFullPath(Matcher   匹配器,String directoryPath)位于   OmniSharp.Script.ScriptProjectSystem.Initalize(IConfiguration   配置)   OmniSharp.WorkspaceInitializer.Initialize(IServiceProvider   serviceProvider,CompositionHost compositionHost)

1 个答案:

答案 0 :(得分:0)

我将问题追溯到Ember项目中的tmp文件夹,其中充满了损坏的文件和文件夹。我安装了附加的Ember clean-tmp并运行了它。清除tmp文件夹后,我重新启动VSCode并检查了OmniSharp日志,并且异常错误消失了。因此,OmniSharp Using语句开始在agian中工作。

故事的寓意:关注该tmp文件夹!

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