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

.NET7源代码生成器在VS2022编译报错:无法找到System.Runtime 7.0.0.0

.NET7源代码生成器加载System.Runtime失败问题排查与解决

问题现象

在VS2022(版本17.7.4)中构建.NET7源代码生成器项目时,遇到以下错误:

System.Runtime, Version=7.0.0.0 - 系统找不到指定的文件。

CSC : 警告 CS8032:无法从E:\git\dotnetExamples\dn7-source-generators\generator\bin\Debug\net7.0\generator.dll创建分析器generator.RepoGenerator的实例:无法加载文件或程序集'System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。

使用dotnet build命令可正常构建,但Visual Studio内构建必现该问题。已尝试更新SDK版本(当前为.NET 7.0.401)、匹配Microsoft.CodeAnalysis.CSharp版本(当前为4.7.0),均未解决。

生成器项目Generator.csproj原配置如下:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.7.0" />
  </ItemGroup>
</Project>

解决方案

1. 切换生成器项目为.NET Standard目标框架

源代码生成器本质是Roslyn分析器,推荐使用.NET Standard作为目标框架,以获得更好的兼容性,避免特定.NET版本的依赖问题:
修改Generator.csproj中的TargetFramework节点:

<TargetFramework>netstandard2.0</TargetFramework>

2. 调整Microsoft.CodeAnalysis.CSharp包引用的资产配置

为避免依赖项被错误传递,同时确保Visual Studio能正确加载分析器,修改包引用的资产设置:

<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.7.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

3. 清理Visual Studio缓存

  • 删除项目根目录下的.vs隐藏文件夹
  • 删除生成器项目和引用项目的bin、obj目录
  • 重启Visual Studio后重新构建

4. 验证VS组件完整性

打开Visual Studio安装器,检查.NET 7相关工作负载是否完整,必要时选择"修改"进行修复安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 10:32:39