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

无法加载Azure.ResourceManager.ResourceGraph程序集的问题求助

解决Azure.ResourceManager.ResourceGraph程序集加载失败(版本1.0.0.0找不到)的问题

问题说明

遇到程序集加载错误:

无法加载文件或程序集‘Azure.ResourceManager.ResourceGraph, Version=1.0.0.0, Culture=neutral, PublicKeyToken=92742159e12e44c8’,系统找不到指定文件。

已尝试清理项目、重装NuGet包、删除NuGet缓存、重建项目等常规操作,错误仍反复出现;注意到NuGet包版本为1.0.0,但错误中版本显示1.0.0.0,且该包在另一解决方案可正常运行。

关键澄清:版本号差异

首先明确:NuGet显示的1.0.0是语义化版本,错误里的1.0.0.0是**.NET程序集版本**,两者属于不同版本标识体系,这个差异是正常的,并非版本不匹配导致的问题。

针对性解决方案

  • 核对目标框架兼容性
    确认当前项目的目标.NET框架版本与正常运行的解决方案一致。Azure.ResourceManager系列包对.NET版本有要求(如最低.NET Core 3.1或.NET 6),框架版本过低会引发加载异常。

  • 添加程序集绑定重定向
    强制让运行时将对1.0.0.0版本的请求指向实际安装的程序集:

    • 非ASP.NET Core项目:修改app.config,添加以下配置:
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="Azure.ResourceManager.ResourceGraph" publicKeyToken="92742159e12e44c8" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
      
    • ASP.NET Core项目:修改runtimeconfig.json,添加以下配置:
      {
        "runtimeOptions": {
          "assemblyBinding": {
            "dependentAssembly": [
              {
                "name": "Azure.ResourceManager.ResourceGraph",
                "publicKeyToken": "92742159e12e44c8",
                "culture": "neutral",
                "bindingRedirects": [
                  {
                    "oldVersion": "0.0.0.0-1.0.0.0",
                    "newVersion": "1.0.0.0"
                  }
                ]
              }
            ]
          }
        }
      }
      
  • 检查依赖链与版本冲突
    使用NuGet包管理器的「查看依赖项」功能,确认是否有间接依赖包引用了旧版本的Azure.ResourceManager.ResourceGraph,尝试将所有Azure相关包更新至同一大版本,避免依赖不一致。

  • 验证输出目录的程序集
    编译项目后,前往输出目录(如bin/Debug/net6.0),检查是否存在Azure.ResourceManager.ResourceGraph.dll:

    • 右键查看文件属性,确认程序集版本为1.0.0.0
    • 若缺失,手动从NuGet缓存(路径通常为%userprofile%/.nuget/packages/azure.resourcemanager.resourcegraph/1.0.0/lib/[目标框架])复制dll到输出目录测试
  • 清理MSBuild缓存
    删除解决方案目录下的.vs文件夹、所有项目的bin和obj文件夹,重新生成解决方案,清除MSBuild缓存导致的异常引用。

  • 检查项目文件的直接引用
    打开项目的.csproj文件,若存在手动添加的程序集引用,确认路径和版本是否正确,或删除手动引用,改用NuGet自动管理。例如:

    <Reference Include="Azure.ResourceManager.ResourceGraph, Version=1.0.0.0, Culture=neutral, PublicKeyToken=92742159e12e44c8">
      <HintPath>..\packages\Azure.ResourceManager.ResourceGraph.1.0.0\lib\net6.0\Azure.ResourceManager.ResourceGraph.dll</HintPath>
    </Reference>
    

    若HintPath路径错误,修正后保存,重新加载项目。

对比参考(利用正常运行的解决方案)

将当前项目与正常运行的解决方案对比以下内容,定位差异:

  • 目标框架版本
  • NuGet包的版本(含所有Azure相关依赖)
  • 项目配置文件(绑定重定向、引用方式)
  • 输出目录的程序集完整性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:20:47