.net core VS2019(简单控制台应用程序)-无法加载文件或程序集“System.Runtime.dll”或其依赖项之一

.net core VS2019(简单控制台应用程序)-无法加载文件或程序集“System.Runtime.dll”或其依赖项之一,.net-core,visual-studio-2019,.net Core,Visual Studio 2019,这是一个普通的控制台应用程序,我已经安装在我的计算机NET.CORE中,查看dotnet-info的结果 .NET SDK (reflecting any global.json): Version: 5.0.202 Commit: db7cc87d51 Runtime Environment: OS Name: Windows OS Version: 10.0.19042 OS Platform: Windows RID: win10-x64

这是一个普通的控制台应用程序,我已经安装在我的计算机NET.CORE中,查看dotnet-info的结果

.NET SDK (reflecting any global.json):
 Version:   5.0.202
 Commit:    db7cc87d51

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19042
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\5.0.202\

Host (useful for support):
  Version: 5.0.5
  Commit:  2f740adc14

.NET SDKs installed:
  1.0.0-preview2-003131 [C:\Program Files\dotnet\sdk]
  3.1.408 [C:\Program Files\dotnet\sdk]
  5.0.102 [C:\Program Files\dotnet\sdk]
  5.0.104 [C:\Program Files\dotnet\sdk]
  5.0.202 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.24 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.27 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.24 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.27 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.27 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
这是我的项目文件,另外,我找到了System.Runtime.dll的所有位置,并将其包含到项目文件的路径

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

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <RootNamespace>LinuxCamelCase</RootNamespace>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <ReferencePath>C:\Program Files\dotnet\sdk\3.1.408\;C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.14;C:\Program Files\dotnet\sdk\3.1.408\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\;C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1</ReferencePath>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

    
  <ItemGroup>
    <PackageReference Include="MySqlConnector" Version="1.3.8" />
  </ItemGroup>

</Project>
当然,我在VS2019安装期间选择了.NET核心开发。 但现在我只有一个编译选项

<TargetFramework>net5.0</TargetFramework>
无法编译其他framefork。为什么?

我不想从Net3.1迁移到Net5.0,也不想在我的Linux托管环境中支持NetCore5.0,因为我有很多历史应用程序,我不想在Linux托管中使用很多不同版本的NetCore


我希望这只是一个bug,而不是Microsoft的政策-不允许开发人员保存首选版本的NET CORE。

根据@Sommen的说法,您是否启动了Visual Studio安装程序,单击“修改”按钮,如图所示:

首先确保已选择.NET桌面开发工作负载:

然后滚动到该页面底部,选择.NET Core跨平台开发包,如下所示:


确保并单击安装按钮,等待安装完成。这很有可能解决您的问题。

安装vs2019时是否包含.net core工作负载?@Sommen再次检查,谢谢,现在VS需要更新。如果已修复,请发布一个答案并将其标记为已回答-或者如果这是一个真正简单的故障排除步骤,请删除该问题。如果可以,将其保留在网站上是没有价值的。@Sommen我已从头重新安装VS2019,但没有任何更改。是的,当然,我选择了跨平台开发。但我只能用NET5编译桌面应用程序。0@Alex,首先复制下面答案的内容,并编辑您的原始帖子,将新信息放在末尾。我建议您在该信息上方添加类似于更新的标题。然后删除你的答案。让我们回到你最初的问题上。。。我还建议您包括.NET桌面开发工作负载(如果您还没有)。我将用另一个屏幕截图编辑上面的答案。@Alex,看看这里的答案:
This tool cannot uninstall versions of the runtime or SDK that are 
    - SDKs installed using Visual Studio 2019 Update 3 or later.
    - SDKs and runtimes installed via zip/scripts.
    - Runtimes installed with SDKs (these should be removed by removing that SDK).
The versions that can be uninstalled with this tool are:

.NET Core SDKs:
  5.0.202  x64    [Used by Visual Studio. Specify individually or use --force to remove]
  5.0.104  x64
  3.1.408  x86
  3.1.408  x64
  1.0.1    x64    [Used by Visual Studio. Specify individually or use --force to remove]

.NET Core Runtimes:
  3.1.14  x64
  2.1.27  x64

ASP.NET Core Runtimes:
  5.0.5   x86
  5.0.5   x64
  3.1.14  x86
  2.1.27  x64

.NET Core Runtime & Hosting Bundles:
<TargetFramework>net5.0</TargetFramework>