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

将Docker化.NET Core应用部署到Azure容器注册表时遇错误

排查VS2022发布.NET7 Docker应用到Azure容器注册表时的Microsoft.Win32.Registry加载失败问题

问题场景

基于Visual Studio 2022创建的.NET 7.0默认Docker化Web应用,本地运行正常,但创建Azure容器注册表发布配置文件后执行发布流程,出现以下错误:

error from sender: context canceled
C:\FolderPath\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.17.0\build\Container.targets(219,5): Error MSB4018: The "ContainerBuildAndLaunch" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

已尝试操作:开启程序集绑定日志、显式添加Microsoft.Win32.Registry NuGet包、重装Win11/VS2022/Docker Desktop,问题仍存在;另一台安装Visual Studio专业版的电脑可正常部署。

排查方向

  • 检查VS组件与版本差异

    • 打开VS安装器,对比专业版机器的组件列表,确保「Azure开发」「容器开发工作负载」完整安装,无组件遗漏。
    • 查看microsoft.visualstudio.azure.containers.tools.targets版本,当前使用1.17.0,可尝试升级到最新版本,或回退至与专业版机器一致的版本。
  • 程序集绑定与GAC检查

    • 以管理员权限运行命令gacutil /l Microsoft.Win32.Registry,检查全局程序集缓存(GAC)中是否存在5.0.0.0版本的该程序集。若缺失,可安装.NET 5.0 SDK(该程序集属于.NET 5.0 runtime),或从正常机器复制对应程序集到GAC。
    • 在项目的web.config或app.config中添加程序集绑定重定向配置,确保版本匹配:
      <dependentAssembly>
          <assemblyIdentity name="Microsoft.Win32.Registry" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
      </dependentAssembly>
      
  • Docker与VS集成校验

    • 重启Docker Desktop,尝试切换Windows/Linux容器后端(匹配项目使用的容器类型),确认VS能正常连接Docker服务。
    • 清理项目缓存(删除bin/obj文件夹)和Docker本地缓存(删除无用镜像、容器),重启VS后重新尝试发布。
  • 权限与环境变量检查

    • 以管理员身份运行Visual Studio,再次执行发布操作,排除权限不足导致的文件访问问题。
    • 检查系统环境变量PATH,确保包含.NET 5.0 runtime相关路径,保证VS能正确定位到目标程序集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:37:45