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

.NET 8.0项目构建失败:无法加载System.Runtime,引用程序集不可执行加载

问题描述

我有一个同时面向net8.0-windows和net48的多目标项目,两种配置下均无警告或错误。net48版本可正常构建,但构建net8.0-windows版本时出现如下错误:

1>Done building project "KeynoteManager.Core_4arjhlci_wpftmp.csproj".
1>LC : error LC0000: 'Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)'
1>Done building project "KeynoteManager.Core.csproj" -- FAILED.

已尝试但无效的操作:

  • 引用System.Runtime NuGet包(无4.2.2版本,试用4.3.0无效)
  • 清理bin和obj文件夹、重启机器、重新克隆仓库
  • 移除框架目标的相关包

补充说明:构建输出中出现带wpftmp后缀的临时项目,但系统中找不到该项目文件。

解决方法

1. 调整WPF资源生成配置

这个错误和License Compiler(LC)工具相关,wpftmp临时项目是WPF构建流程自动生成的。在项目文件中针对net8.0-windows添加以下配置,强制使用序列化资源加载方式,避免程序集加载冲突:

<PropertyGroup Condition="'$(TargetFramework)' == 'net8.0-windows'">
  <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
  <UseWPF>true</UseWPF>
</PropertyGroup>

2. 明确指定System.Runtime程序集路径

在项目文件中为net8.0-windows框架手动指定System.Runtime的正确引用路径,避免加载错误版本:

<ItemGroup Condition="'$(TargetFramework)' == 'net8.0-windows'">
  <Reference Include="System.Runtime">
    <HintPath>C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.0\System.Runtime.dll</HintPath>
    <Private>False</Private>
  </Reference>
</ItemGroup>

注意将路径中的8.0.0替换为你实际安装的.NET 8版本号。

3. 禁用License Compiler(临时规避)

如果项目不需要使用License Compiler功能,可以在项目文件中针对net8.0-windows禁用LC工具:

<PropertyGroup Condition="'$(TargetFramework)' == 'net8.0-windows'">
  <GenerateLicenseFile>false</GenerateLicenseFile>
</PropertyGroup>

4. 对比正常项目的配置差异

既然有其他同配置项目可以正常构建,导出这些项目的.csproj文件,和当前项目逐行对比,重点检查:

  • 框架专属的PropertyGroup配置项
  • NuGet包的版本和引用方式
  • WPF相关的开关属性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:37:12