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

部署至Azure App Service后加载Microsoft.Data.SqlClient失败求助

解决Azure App Service中Microsoft.Data.SqlClient程序集找不到的问题
  • 检查发布配置的依赖项复制行为

    • 打开项目文件(.csproj),在<PropertyGroup>节点下添加<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>,确保发布时所有依赖包都被复制到输出目录。
    • 检查发布配置文件(.pubxml),确认没有在<ExcludeFilesFromDeployment>中排除Microsoft.Data.SqlClient相关文件。
  • 对齐.NET与EF Core版本

    • 当前使用.NET 6.0,但引用的Microsoft.EntityFrameworkCore.SqlServer为7.0.2,跨大版本引用易引发依赖冲突。建议将EF Core版本降级至6.x系列(如6.0.15),与.NET 6保持版本一致。
  • 添加程序集绑定重定向

    • 在项目根目录创建或修改runtimeconfig.json,添加以下配置,让运行时自动适配可用的程序集版本:
      {
        "runtimeOptions": {
          "assemblyBinding": {
            "dependencies": {
              "Microsoft.Data.SqlClient": {
                "assemblyVersion": "5.0.0.0",
                "publicKeyToken": "***********",
                "redirectTo": "你部署目录中实际存在的版本号"
              }
            }
          }
        }
      }
      
    • 替换配置中的***********为实际公钥令牌,你部署目录中实际存在的版本号为site/wwwroot下Microsoft.Data.SqlClient的版本。
  • 检查Linux环境文件权限

    • 通过Azure App Service的SSH终端进入site/wwwroot目录,执行ls -l Microsoft.Data.SqlClient.dll查看文件权限。若应用进程无读取权限,执行chmod 644 Microsoft.Data.SqlClient.dll修改权限。
  • 清理缓存重新部署

    • 删除本地发布目录的所有文件,重新生成并发布。同时在Azure门户的Kudu工具中,清空site/wwwroot目录后再重新部署,避免旧缓存文件干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 14:05:23