Не удалось найти тип или имя пространства имен 'System' (отсутствует директива using или ссылка на сборку?) В .netcore 3.0 в Linux - PullRequest
0 голосов
/ 28 сентября 2019

Я только что создал простое консольное приложение "Hello World", чтобы начать тестирование разработки .netcore 3.0 для Linux с использованием VS Code, и оно не будет компилироваться с (в настоящее время) 26 ошибками, в основном указав, что предопределенные типы System.Object, System.String, System.Void и т. Д. Не определены или не импортированы.

.csproj-файл:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Project Include="Program.cs"/>
  </ItemGroup>
</Project>

Program.Main

using System;

namespace TestNetCore3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

Что интересно, яу меня та же проблема с библиотекой классов, над которой я работал, которая прекрасно работает и тестирует (работает) на компьютере с Windows 10, но когда я загружаю репозиторий на мою машину с Linux, все это разваливается по швам.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2019

Оказывается, у меня были установлены оба SDK 3.0.100 и 2.2.402, что вызывало конфликт.Деинсталляция 2.2.402 сделала свое дело

sudo rm -rf /usr/share/dotnet/sdk/2.2.402
0 голосов
/ 28 сентября 2019

Хорошей идеей будет проверить, установили ли вы указанный SDK, в данном случае для .NET 3.0.

Вы можете сделать это, набрав:

dotnet --list-sdks

для всех установленных версий SDK или как указано в комментарии TiGreX с помощью:

dotnet --info

Также имейте в виду, что для 3.0 Visual Studio Code требуется новейшее расширение C #, поэтому, пожалуйста, проверьте, есть ли оно у вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...