错误 CS8773:"Feature 'global using directive' is not available in C# 9.0" 从 net6.0 降级到 net5.0 后

error CS8773: "Feature 'global using directive' is not available in C# 9.0" after downgrade from net6.0 to net5.0

我有一个项目最初是为 .NET 6 创建的,但后来我需要将其降级到 .NET 5。 我更改了项目属性中的目标框架并尝试编译。结果我收到了一堆错误:

GlobalUsings.g.cs(2,1,2,29): error CS8773: Feature 'global using directive' is not available in C# 9.0. Please use language version 10.0 or greater.

文件GlobalUsings.g.cs是自动创建的,每次编译后都会重新出现。

最后我发现原因是.net 5.0不支持的项目文件中的额外属性 ImplicitUsings

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

我需要从文件中删除 ImplicitUsings