.NET7 Blazor Server中DevExpress 25.1.5配置报错CS0246的解决问询
错误原因
DevExpress.Blazor 25.1.5版本不再支持.NET 7框架,从DevExpress 24.2系列版本开始,其Blazor组件库仅兼容.NET 8及以上版本。你在.NET 7项目中安装该版本包后,项目无法正确识别包内的命名空间和扩展方法,因此会出现CS0246(找不到DevExpress命名空间)和CS1061(找不到AddDevExpressBlazor扩展方法)的编译错误。
正确配置方案
你可以通过以下两种方式解决问题,确保项目能正常构建:
方案一:降级DevExpress.Blazor到支持.NET 7的版本
DevExpress 24.1.x系列是最后支持.NET 7的Blazor组件版本,执行以下命令替换现有包:
# 卸载当前不兼容的包 dotnet remove package DevExpress.Blazor # 安装支持.NET 7的最新24.1版本(以24.1.8为例) dotnet add package DevExpress.Blazor --version 24.1.8 dotnet restore
之后按以下步骤配置:
- 在
Program.cs中添加命名空间和服务注册:
using DevExpress.Blazor; var builder = WebApplication.CreateBuilder(args); // 添加DevExpress Blazor服务 builder.Services.AddDevExpressBlazor(); // 保留项目原有其他配置代码 builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); // ... var app = builder.Build(); // 保留项目原有中间件配置 // ... app.Run();
- 保存文件后执行
dotnet build,项目即可正常构建。
方案二:将项目升级到.NET 8框架
如果想使用最新的DevExpress.Blazor 25.1.5版本,需要把项目目标框架升级到.NET 8:
- 修改项目文件(
DevExpressBlazorApp.csproj)中的目标框架:
<PropertyGroup> <TargetFramework>net8.0</TargetFramework> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> </PropertyGroup>
- 执行命令更新项目依赖:
dotnet restore
- 在
Program.cs中添加命名空间和服务注册:
using DevExpress.Blazor; var builder = WebApplication.CreateBuilder(args); builder.Services.AddDevExpressBlazor(); // 保留项目原有其他配置代码 builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); // ... var app = builder.Build(); // 保留项目原有中间件配置 // ... app.Run();
- 执行
dotnet build,项目即可正常构建。
内容的提问来源于stack exchange,提问作者Harshit Sonani
相关产品推荐
相关产品推荐

