Fedora 35 上的 Rider 不会显示 netstandard

Rider on Fedora 35 won't show netstandard

问题描述

我想使用源代码生成器,因此需要一个以 netstandard2.0 为目标的 class 库。不幸的是,我无法在 JetBrains Rider 框架下拉列表中 select 它(请参见下面的屏幕截图)。

环境详情

骑手版本:2021.3.2(内部版本:#RD-213.6461.51)

dotnet --info:

.NET SDK (gemäß "global.json"): Version: 6.0.100 Commit:
9e8b04bbff

Laufzeitumgebung: OS Name: fedora OS Version: 35 OS Platform: Linux RID: fedora.35-x64 Base Path:
/usr/lib64/dotnet/sdk/6.0.100/

Host (useful for support): Version: 6.0.0 Commit: 4822e3c3aa

.NET SDKs installed: 3.1.118 [/usr/lib64/dotnet/sdk] 5.0.206 [/usr/lib64/dotnet/sdk] 6.0.100 [/usr/lib64/dotnet/sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 3.1.18 [/usr/lib64/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.9 [/usr/lib64/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.0 [/usr/lib64/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.18 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.9 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.0 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download

Rider 中的框架 selection: Framework dropdown greyed out and set to net6.0

问题

我怎样才能得到 framework-selection 让我 select netstandard2.0(和 netstandard2.1)?

如果您需要任何其他信息,我很乐意提供。 提前致谢。

编辑

在我使用预 selected net6.0 框架创建项目后 selection 我的 csproj 看起来像这样:

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

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

</Project>

我可以手动更改<TargetFramework>值并且一切正常(<TargetFramework>netstandard2.0</TargetFramework>),但我觉得很奇怪我不能直接在项目创建中使用下拉列表。

这是一个已经报告给 JetBrains 团队的错误:https://youtrack.jetbrains.com/issue/RIDER-70004

作为解决方法,可以执行以下操作:

  • 右键单击解决方案并select管理 .NET SDK
  • Select 较旧的 SDK(例如 3.1)和 latestMinor 作为 Roll-forward 政策
  • 为旧框架创建新项目
  • 打开 Manage .NET SDK 并将 Roll-forward 策略设置为之前的状态