You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Standard 2.0项目System.Runtime程序集加载失败求助

解决.NET Standard 2.0类库System.Runtime加载失败问题

先修正核心配置错误

你把.NET Standard类库的<OutputType>设成了Exe,这是基础错误——.NET Standard是跨平台API规范,只能作为类库被其他项目引用,不能直接当可执行程序运行。先把这行从.csproj里删除:

<OutputType>Exe</OutputType>

修复NuGet包版本冲突

你的包版本搭配完全不兼容.NET Standard 2.0:

  • Serilog 4.0.0及配套扩展库(如8.0.0版本的Extensions)已放弃支持.NET Standard 2.0,必须降级到兼容版本
  • EF Core 2.1.0版本过旧,和高版本包易产生依赖矛盾,建议升级到2.2.6(.NET Standard 2.0支持的最高稳定版)

整理后的兼容版.csproj示例:

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

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.6" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
    <PackageReference Include="RestSharp" Version="106.15.0" />
    <PackageReference Include="Serilog" Version="2.12.0" />
    <PackageReference Include="Serilog.Extensions.Logging" Version="3.1.0" />
    <PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
    <PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
  </ItemGroup>

</Project>

清理并重建项目

按以下步骤操作:

  • 右键项目 → 清理
  • 手动删除项目文件夹内的bin和obj目录
  • 右键项目 → 重建

正确测试类库

你需要单独创建一个控制台项目(可选.NET Framework 4.7.2或.NET Core 3.1+),将你的.NET Standard类库引用到该项目中,通过控制台项目运行测试——类库本身无法直接运行。

额外提醒

.NET Standard只是API规范,没有独立运行时,因此永远不能设置为Exe输出类型。你选择.NET Standard 2.0兼容Framework和Core的思路是正确的,但要确保所有NuGet包版本都支持该目标框架,避免盲目使用最新版本(很多新包已不再兼容旧规范)。

内容的提问来源于stack exchange,提问作者Ranel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 04:13:13