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

C# Razor Page本地化报错:AddViewLocalization不存在等问题求助

Razor Pages本地化代码报错的原因与解决方法

我在用C# Razor Page开发网站,实现本地化功能时,编写的代码出现了两个错误:

CS0103 “AddViewLocalization”在当前上下文中不存在;CS1022 应输入类型或命名空间定义,或文件结尾。

出错的代码片段如下:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");

// Add services to the container.
builder.Services.AddRazorPages();
  ***  .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
    .AddDataAnnotationsLocalization();

错误原因

  1. 语法错误:AddRazorPages()后面加了分号,导致后续的.AddViewLocalization()变成独立代码语句,脱离了AddRazorPages()返回的服务配置上下文,触发CS1022错误。
  2. 缺少依赖包:AddViewLocalization和AddDataAnnotationsLocalization方法属于Microsoft.AspNetCore.Mvc.Localization类库,若项目未安装对应NuGet包,编译器找不到这些方法,触发CS0103错误。

解决方法

  1. 修正语法结构:删除AddRazorPages()后面的分号,保持方法链式调用的连续性。
  2. 安装必要NuGet包:
    • 使用Package Manager控制台执行:
      Install-Package Microsoft.AspNetCore.Mvc.Localization
      
    • 或者使用.NET CLI执行:
      dotnet add package Microsoft.AspNetCore.Mvc.Localization
      

修正后的完整代码

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");

// Add services to the container.
builder.Services.AddRazorPages()
    .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
    .AddDataAnnotationsLocalization();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 01:52:52