Расширение C # (OmniSharp) дает ложные результаты в VSCode - PullRequest
3 голосов
/ 30 сентября 2019

У меня проблемы с использованием расширения C # в VSCode. У меня есть базовый проект с одной зависимостью и писем Hello World. Когда я запускаю dotnet run, проект компилируется и запускается без проблем. Тем не менее, расширение C # дает мне 27 проблем компиляции, все они связаны с классами System. Например:

Predefined type 'System.String' is not defined or imported (CS0518)

... даже если система помечена как Unnecessary using directive. (CS8019). Кажется, есть несоответствие между информацией, которую dotnet и расширение дают мне. Были подобные проблемы, прежде чем предлагать обновить VSCode или расширение. К сожалению, это не помогает.

Я уже пробовал это без зависимости, это ничего не меняет. Интересно, что я продолжаю получать сообщение от VSCode о том, что существует неразрешенная зависимость, и мне нужно «восстановить». dotnet restore не исправляет это.

Пример ложных проблем:

False problems

Проект:

<Project Sdk="Microsoft.NET.Sdk">

   <PropertyGroup>
      <OutputType>Exe</OutputType>
      <TargetFramework>netcoreapp3.0</TargetFramework>
      <RootNamespace>project</RootNamespace>
   </PropertyGroup>

   <ItemGroup>
      <PackageReference Include="Hashgraph" Version="3.0.0" />
   </ItemGroup>

</Project>

Версия различных компонентов:

> dotnet --version
3.0.100
> mono --version
Mono JIT compiler version 6.4.0.198 (tarball Wed Sep 25 00:24:09 BST 2019)
> msbuild
Microsoft (R) Build Engine version 16.1.85+gad9c9926a7

Редактировать: Кстати, я на MacOS.

1 Ответ

1 голос
/ 03 октября 2019

У меня была такая же проблема.

Расширение C # 1.21.3, похоже, не совместимо с ядром dotnet 3.0.100.

My Fix:

Я установил ядро ​​dotnet 2.2 и добавил в проект файл global.json на том же уровне, что и файл .csproj.

Затем добавил этот фрагмент json в global.json:

{
    "sdk": {
      "version": "2.2.402"
    }
}

Затем я запустил:

dotnet restore, 
dotnet clean, 
dotnet build 

Полагаю, нам придется ждать исправления длярасширение для ядра Dotnet 3

Обновление: Я читал в другом посте, удаление ранее установленных SDK Dotnet решило бы проблему. Я на Ubuntu 18.04, у меня были установлены 2.1, 2.2 и 3.0. Я удалил 2.1 и 2.2 Теперь расширение работает с 3.0

Надеюсь, что помогает.

...