MacOS OmniSharp и ошибка тайм-аута vscode

Сегодня утром я запустил vscode (1.13.1) и хочу написать код на C # (ядро dotnet). Но у меня та же ошибка, которую вы можете найти в Google, но в текущей версии 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, перейти к определению и т. Д. Тоже не работает.

Есть ли что-то, что я еще могу сделать?

Спасибо за уделенное время.

ИЗМЕНИТЬ

Версия расширения c # для vscode самая новая (1.10.0)


person Petr Tomášek    schedule 22.06.2017    source источник


Ответы (2)


Обновите свои пользовательские настройки или настройки рабочего пространства с помощью приведенной ниже строки кода.

{
  "omnisharp.projectLoadTimeout": 600
}

Подойдет любое число, кроме значения по умолчанию 60.

person David Blay    schedule 08.10.2017
comment
Я медленно перешел с omnisharp.projectLoadTimeout до 1200, но все равно omnisharp не загрузился из-за проблемы с тайм-аутом. Но я нашел первопричину этой задержки. Пожалуйста, проверьте мой ответ выше. Если мы исключим node_modules, другие папки javascript и статических файлов в разделе DefaultExcludes, то он загрузится за пару секунд. Нет необходимости увеличивать тайм-аут. - person Ganesh Kumar Ponnuswamy; 21.10.2017
comment
Меня подействовала установка на 600. Спасибо. - person Marcelo Espinosa; 24.11.2020

На самом деле эта задержка связана с огромным содержанием файлов библиотеки, содержащихся в папке 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

person Ganesh Kumar Ponnuswamy    schedule 13.10.2017