升级.NET5 Blazor应用到.NET6部署Azure App Service缺失程序集如何处理
.NET5 Blazor迁移.NET6后Azure App Service缺失程序集解决方案
出现该错误的核心原因是6.0版本的Microsoft.Extensions.Logging.AzureAppServices程序集未被包含在你的部署包中,Azure App Service的默认运行时环境不会预装该独立组件,你可以按照以下步骤修复:
- 第一步:在项目中显式引用对应版本的NuGet包
你可以直接在项目的csproj文件中添加包引用配置:
也可以在项目根目录执行命令完成引用:<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="6.0.*" />dotnet add package Microsoft.Extensions.Logging.AzureAppServices --version 6.0.* - 第二步:校验构建流水线的发布配置
确认你的Azure DevOps构建流水线中的dotnet publish任务没有添加--no-restore、--no-dependencies这类会跳过依赖复制的参数,同时确认发布命令指定的目标框架为net6.0,没有残留.NET 5的相关配置。 - 第三步:确认部署包包含目标程序集
你可以在构建流水线的发布步骤后新增一个临时的文件列表输出步骤,检查发布产物目录中是否已经包含Microsoft.Extensions.Logging.AzureAppServices.dll文件,避免构建环节未将依赖打入部署包。 - 第四步:避免旧部署文件干扰
部署前先清空Azure App Service的wwwroot目录,再重新部署最新的构建产物,避免之前.NET 5版本的残留文件导致运行时加载异常。
内容的提问来源于stack exchange,提问作者Rob Bowman
相关产品推荐
相关产品推荐

