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

编译ASP.NET Core blazor-united-end分支遇Visual Studio编译错误求助

解决ASP.NET Core 8.0 blazor-united-end分支编译问题

一、处理CascadingAuthenticationState未编译问题

  • 清理本地构建缓存:删除所有涉及项目的bin、obj文件夹,删除Visual Studio的.suo配置文件,重启VS后重新尝试构建。本地缓存冲突是Razor组件未编译的常见原因。
  • 手动触发Razor组件编译:右键Microsoft.AspNetCore.Components.Authorization项目选择「重新生成」;或在Package Manager Console执行命令:
    dotnet build --project src/Components/Authorization/Microsoft.AspNetCore.Components.Authorization/Microsoft.AspNetCore.Components.Authorization.csproj
    
  • 检查项目配置:打开该项目的.csproj文件,确认存在以下配置且未排除Razor文件:
    <RazorCompileOnBuild>true</RazorCompileOnBuild>
    <RazorCompileOnPublish>true</RazorCompileOnPublish>
    <!-- 确保没有类似 <Compile Remove="**/*.razor" /> 的错误配置 -->
    
  • 同步脚本与VS的构建流程:重新执行./eng/build.ps1 -clean -restore -build,彻底清理旧输出、还原依赖后再编译,保证脚本构建的输出覆盖本地旧文件。

二、解决编译器版本不匹配警告

  • 对齐SDK版本:打开项目根目录的global.json,确认其中指定的SDK版本与Visual Studio安装的.NET 8.0 SDK完全一致(含补丁号)。若VS缺少对应版本,安装匹配的SDK。
  • 统一项目SDK配置:在Directory.Build.props中添加全局配置,强制所有项目使用指定SDK版本:
    <PropertyGroup>
      <SdkVersion>8.x.x</SdkVersion> <!-- 替换为global.json中的具体版本号 -->
    </PropertyGroup>
    
  • 升级Visual Studio:确保VS 2022版本在17.8及以上(.NET 8.0的最低兼容VS版本),旧版本VS对分支代码的编译器支持可能存在兼容性问题。
  • 使用脚本构建输出作为引用:在VS中,将项目引用切换至artifacts文件夹下脚本编译生成的DLL,避免本地编译与脚本编译的版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 10:24:55