CS0246: 找不到类型或命名空间名称 'System'

CS0246: The type or namespace name 'System' could not be found

我在 Mac 上使用带有 .NET Core 3.1 的 dotnet 3.1 CLI 来学习 msbuild 并从头开始创建项目文件。我在 Microsoft MSBuild documentation 上尝试了演练,但失败并出现此错误:

CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)

我做错了什么?如何在我的项目中引用系统命名空间?

program.cs

using System;

class HelloWorld {

    static void Main() {
#if DebugConfig
        Console.WriteLine("WE ARE IN THE DEBUG CONFIGURATION");
#endif

        Console.WriteLine("Hello, world!");
    }
}

project.csproj

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Compile Include="program.cs" />
    </ItemGroup>

    <Target Name="Build">
        <Csc Sources="@(Compile)"/>
    </Target>
</Project>

命令行界面:

dotnet msbuild project.csproj -t:Build

您的项目文件看起来已过时

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Compile Include="program.cs" />
    </ItemGroup>

    <Target Name="Build">
        <Csc Sources="@(Compile)"/>
    </Target>
</Project>

对于 .NET Core 开发,使用了新的 SDK 样式的项目,类似的东西

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

按照 MSDN tutorial 如何在 Mac OS

上构建初始解决方案