Расширение Microsoft C # для VSCode не может найти .NET Core SDK

Описание проблемы

Я установил .NET Core 3.1.0 SDK, попытался добавить расширение Microsoft C # в VSCode и получил следующее всплывающее окно:

46F9F9AB-EF0C-4DC8-B18A-05322c<code>dotnet --info</code>D5005</p>

<p>Я совершенно уверен, что все правильно установил.  После того, как я достаточно долго возился с этим, я попытался удалить все SDK и среды выполнения на моем компьютере, выполнив следующие действия: <a target='_blank' href='https://docs.microsoft.com/en-us/dotnet/core/versions/remove-runtime.-sdk-versions?tabs=macos'>здесь</a>.  Переустановил SDK 3.1.0, и проблема не исчезла.</p>

<h2>Действия по воспроизведению</h2>

<p>Не совсем уверен, как это можно воспроизвести, так как это кажется редкой проблемой!  Когда проблема впервые возникла, на моем компьютере было установлено VS Community, но с тех пор я удалил его и все связанные SDK, но проблема все еще возникает.</p>

<h2>Ожидаемое поведение</h2>

<p>Чтобы расширение могло найти SDK, так как я могу запускать все <code>dotnet</code> команды с моего терминала.</p>

<h2>Фактическое поведение</h2>

<p>Не может найти.</p>

<h2>Журналы</h2>

<h3>Журнал OmniSharp</h3>

<pre><code><details>Starting OmniSharp server at 1/11/2020, 12:55:00 PM
    Target: /Users/finley/dev/dotnet/DatingApp/DatingApp.API

OmniSharp server started.
    Path: /Users/finley/.vscode/extensions/ms-vscode.csharp-1.21.9/.omnisharp/1.34.9/run
    PID: 3072

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on MacOS 10.15.2 (x64)
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 1 MSBuild instance(s)
            1: StandAlone 16.3 -

Журнал C #

Installing C# dependencies...
Platform: darwin, x86_64

Downloading package 'OmniSharp for OSX' (44721 KB).................... Done!
Validating download...
Integrity Check succeeded.
Installing package 'OmniSharp for OSX'

Downloading package '.NET Core Debugger (macOS / x64)' (51272 KB).................... Done!
Validating download...
Integrity Check succeeded.
Installing package '.NET Core Debugger (macOS / x64)'

Downloading package 'Razor Language Server (macOS / x64)' (50263 KB).................... Done!
Installing package 'Razor Language Server (macOS / x64)'

Finished

Failed to spawn 'dotnet --info'

Информация об окружающей среде

Версия VSCode: 1.41.1 Расширение C #: 1.21.9

Информация о моно

OmniSharp с использованием встроенного моно

Информация о Dotnet

Не удалось найти допустимую установку dotnet.

Мой dotnet --info вывод:

.NET Core SDK (reflecting any global.json):
 Version:   3.1.100
 Commit:    cd82f021f4

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.15
 OS Platform: Darwin
 RID:         osx.10.15-x64
 Base Path:   /usr/local/share/dotnet/sdk/3.1.100/

Host (useful for support):
  Version: 3.1.0
  Commit:  65f04fb6db

.NET Core SDKs installed:
  3.1.100 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.App 3.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

person Finley    schedule 11.01.2020    source источник


Ответы (1)


Здесь было две проблемы!

  1. VSCode не имеет разрешений (?) Для запуска команд оболочки (от имени расширений?) При открытии с помощью ярлыка.

  2. Пути, сгенерированные расширением C #, принадлежали пользователю root (так как я в отчаянии открывал VSCode с sudo, когда они были сгенерированы) и не могли быть доступны расширению при обычном открытии из интерфейса командной строки. Чтобы исправить это, мне пришлось удалить папки проекта / bin и / obj.

Надеюсь, это поможет другим!

person Finley    schedule 14.01.2020