Omnisharp по умолчанию использует dotnet, если он доступен, что недостаточно для того, что вам нужно. Чтобы сделать Omnisharp использовать моно (который поставляется с необходимыми профилями), вам необходимо:
- Установите моно 5,8 или выше. Я рекомендую установить с домашним пивом:
brew install mono
- В файле пользовательских настроек VSCode вынудите omnisharp использовать глобальную моно установку:
"omnisharp.useGlobalMono": "always"
(auto
Вывод в VSCode должен показывать что-то вроде
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Located 2 MSBuild instance(s)
1: Mono 15.0 - "/usr/local/lib/mono/msbuild/15.0/bin"
2: StandAlone 15.0 - "/Users/x/vscode/extensions/ms-vscode.csharp-1.17.1/.omnisharp/1.32.8/omnisharp/msbuild/15.0/Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Registered MSBuild instance: Mono 15.0 - "/usr/local/lib/mono/msbuild/15.0/bin"
Если после этого он по-прежнему жалуется (например, если он выбирает неправильную монофоническую установку), вы также можете заставить omnisharp использовать моно доморощенного, установив
"omnisharp.monoPath": "/usr/local/"
или конкретная установка моно с
"omnisharp.monoPath": "/usr/local/Cellar/mono/5.14.0.177/"