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

如何将VS2019 Blazor ASP.NET Core托管模板部署到Azure?

解决Blazor ASP.NET Core托管模板自包含发布到App Service的错误

咱们先把问题根源理清楚:你碰到的这个错误,本质是Server项目依赖的Client项目没有生成对应.NETStandard,Version=v2.0的资产文件,大概率是包还原不完整,或者Client项目的目标框架配置出了问题。下面是一步步的解决办法:

1. 确认Client项目的目标框架配置

打开BlazorCore.Client.csproj文件,检查是否包含netstandard2.0作为目标框架,配置应该类似这样:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <!-- 其他项目配置 -->
  </PropertyGroup>
  <!-- 其他项目内容 -->
</Project>

如果没有这个配置,直接添加或者修改成上面的内容后保存文件。

2. 重新执行NuGet包还原

在Visual Studio里,右键点击解决方案,选择还原NuGet包;或者在终端切换到解决方案根目录,执行命令:

dotnet restore

这一步会重新生成所有项目的project.assets.json文件,确保Server项目能找到Client项目匹配的目标框架资产。

3. 清理并重新生成整个解决方案

旧的编译缓存也可能导致这类问题,按以下步骤操作:

  • 点击Visual Studio菜单栏的生成 -> 清理解决方案
  • 接着点击生成 -> 重新生成解决方案

4. 检查自包含发布的配置细节

因为你是用**自包含(Self-Contained)**模式发布到App Service,要注意两个关键点:

  • 确保发布时选择的目标框架和Server项目的目标框架一致(比如Server项目是.NET 6,发布时也要选对应版本)
  • 在发布配置的部署模式里选自包含,同时指定正确的运行时(比如win-x64,毕竟App Service的Windows环境大多是x64架构)

5. 手动清理缓存(如果前面步骤无效)

如果还是报错,直接删除BlazorCore.Client和BlazorCore.Server项目下的bin和obj目录,然后重新执行包还原和解决方案生成操作,彻底清除旧缓存。

最后提个小提醒:Blazor托管模板的发布,直接发布Server项目就好——它会自动打包Client的静态文件,单独发布Client反而容易出现依赖不匹配的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:12:42