空白 Xamarin.Forms 项目缺少 netstandard 2.0 程序集错误

Missing netstandard 2.0 assembly error on blank Xamarin.Forms project

我在没有引用 netstandard 程序集的 VS 中创建空白 Xamarin.Forms 项目时遇到错误,我无法解决这个问题。

我在应用程序中遇到的错误是:

我试过了,没用:

这是我的 csproj(除评论中建议的 AutoGenerateBindingRedirects 外的默认设置):

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

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <ProduceReferenceAssembly>true</ProduceReferenceAssembly>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DebugType>portable</DebugType>
    <DebugSymbols>true</DebugSymbols>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Xamarin.Forms" Version="4.3.0.908675" />
    <PackageReference Include="Xamarin.Essentials" Version="1.3.1" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="ViewModels\" />
  </ItemGroup>
</Project>

有人知道该怎么办吗?我发现的大多数答案要么不起作用,要么已有数年历史,据称已在较新的 VS 版本中得到修复。

这是我的详细输出日志的link:

VS 社区 19 预览:https://privatebin.net/?c7c4cd6123e0edd7#5qYTwaKSyGKBMgU3beshk3Xgx52nyCyAYcsq63uRfWWT

VS 社区 19:https://privatebin.net/?2cf9d7ab07e8a4fb#5UkwWhxKFPDGnTtVdZuawkQLMRNe4qvJLeuaBrFrPoJf

经过两周的个人痛苦和与 Xamarin 经验丰富的人一起度过 2 小时后发现了问题!问题是我安装了两个不同版本的 dotnet(一个在 C: 驱动器中,一个在我的 E: 驱动器中,我还保存了程序文件)。在cmd中输入dotnet --version才发现找到的版本是Ancient(1.x),然后dotnet --list-sdks找到重复的。删除 E: 驱动器中的旧 SDK 并重新检查我的 dotnet 版本后,错误消失了!