2

今天早上我开始使用 vscode(1.13.1) 并想用 C# (dotnet core) 编写代码。但我得到了同样的错误,你可以在谷歌中找到,但在当前版本的 OmniSharp 中。Omnisharp 正确地看到了我的项目,但没有启动。在 OmniaSharp 日志中是这样的:

OmniSharp server started wth Mono
Path: /Users/petrtomasek/.vscode/extensions/ms-vscode.csharp-1.10.0/bin/run
PID: 1351

OmniSharp: -s /Users/petrtomasek/Projects/CestujnakoleNew --hostPID 1267 --stdio DotNet:enablePackageRestore=false --encoding utf-8 --loglevel information formattingOptions:useTabs=false formattingOptions:tabSize=4 formattingOptions:indentationSize=4
{"Event":"log","Body":{"LogLevel":"INFORMATION","Name":"OmniSharp.Startup","Message":"Omnisharp server running using Stdio at location '/Users/petrtomasek/Projects/CestujnakoleNew' on host 1267."},"Seq":1,"Type":"event"}
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Initializing in /Users/petrtomasek/Projects/CestujnakoleNew
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Auto package restore: False
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Update workspace context
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Resolving projects references
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        MSBUILD_EXE_PATH environment variable set to /Users/petrtomasek/.vscode/extensions/ms-vscode.csharp-1.10.0/bin/omnisharp/msbuild/MSBuild.dll
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        MSBuildExtensionsPath environment variable set to /Users/petrtomasek/.vscode/extensions/ms-vscode.csharp-1.10.0/bin/omnisharp/msbuild
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        MSBuild will use local OmniSharp installation.
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        No solution files found in '/Users/petrtomasek/Projects/CestujnakoleNew'
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        Loading project: /Users/petrtomasek/Projects/CestujnakoleNew/CestujnakoleNew.csproj
Discovered Mono file path: /Library/Frameworks/Mono.framework/Versions/Current/Commands/mono
Resolved symbolic link for Mono file path: /Library/Frameworks/Mono.framework/Versions/5.2.0/bin/mono-sgen64
[ERROR] Error: OmniSharp server load timed out. Use the 'omnisharp.projectLoadTimeout' setting to override the default delay (one minute).

我尝试重新启动mac,重新安装vscode,omnisharp,现在升级到5.2。预览版。没有任何帮助。还是同样的错误。Intellisense,去定义等也不起作用。

我还有什么可以尝试的吗?

感谢您的时间。

编辑

vscode的c#扩展版本是最新的(1.10.0)

4

2 回答 2

3

使用以下代码行更新您的用户设置或工作区设置

{
  "omnisharp.projectLoadTimeout": 600
}

默认60以外的任何数字都可以。

于 2017-10-08T05:03:46.220 回答
0

实际上,这种延迟是由于wwwroot文件夹中包含大量库文件,而 OmniSharp 和 C# 编译器实际上都不需要。

我刚刚将下面给出的这些行添加到.csproj文件中,如线程中所述,但就我的文件夹结构而言,这件事在几秒钟内推动了 OmniSharp 加载过程的加载,

<PropertyGroup
     <DefaultItemExcludes>wwwroot/global/**;$(DefaultItemExcludes)</DefaultItemExcludes> 
     <DefaultItemExcludes>wwwroot/vendors/**;$(DefaultItemExcludes)</DefaultItemExcludes>
</PropertyGroup>

当然,请继续修改替换wwwroot/vendors/wwwroot/global/为您的应用程序的静态文件文件夹结构所需的多个文件夹,该文件夹结构不需要由 C# 编译器编译。在 csproj 文件中添加这些行的另一个好处是,它提高了开发过程中构建周期的性能!,

我实际上在以下链接中问过这个问题:

https://github.com/OmniSharp/omnisharp-vscode/issues/1585

并从此链接的参考中得到答案:

https://github.com/dotnet/cli/issues/7525

于 2017-10-13T18:09:03.307 回答