Blazor Server本地化资源文件使用问题:无法生成设计器类
Blazor Server本地化资源文件设计器类生成问题解决
问题原因
ResXFileCodeGenerator仅会为不带文化标识的主资源文件(如res1.resx)生成设计器类,带文化代码的本地化附属文件(res1.en.resx、res1.fr.resx)不会单独生成。你之前仅创建了本地化附属文件,缺少主资源文件,导致无法生成设计器类。
解决步骤
创建主资源文件
添加不带文化代码的res1.resx文件,作为默认(中性)资源存储基础文本内容。配置主资源文件属性
- 选中
res1.resx,打开属性面板 - 设置自定义工具为
ResXFileCodeGenerator(若需要公开访问的类,可改用PublicResXFileCodeGenerator) - 设置自定义工具命名空间与项目根命名空间保持一致,确保生成的类能被正确引用
- 在资源文件设计器顶部的「访问修饰符」下拉菜单选择
public
- 选中
配置本地化附属文件属性
选中res1.en.resx、res1.fr.resx,将自定义工具设置为ResXFileCodeGenerator,无需单独设置命名空间,会自动关联主资源文件。清理重建项目
右键项目 → 清理 → 生成,或重启Visual Studio清除缓存,确保设计器类正常生成。
后续使用IStringLocalizer
设计器类生成后,即可在组件中注入使用:
@inject IStringLocalizer<res1> Localizer <h1>@Localizer["WelcomeMessage"]</h1>
内容的提问来源于stack exchange,提问作者Sciencekill
相关产品推荐
相关产品推荐

