.NET 9 MAUI使用.resx文件本地化遇CLR命名空间找不到问题
.NET 9 MAUI 本地化.resx文件CLR命名空间找不到问题解决
问题场景
- 在.NET 9 MAUI应用中使用.resx文件实现本地化,资源文件存放路径为
Resources/Languages/Resources.en.resx,包含键title - 在XAML视图中通过
xmlns:lang="clr-namespace:MyApp.Resources.Languages"及Title="{x:Static lang:Resources.title}"访问资源时,提示找不到CLR命名空间 - 尝试过常规的StackOverflow解决方案,均无效,判定为.NET 9特有问题
解决方案
.NET 9 MAUI对本地化资源文件的命名有强制要求:资源文件必须以AppResources为基础名称(例如AppResources.de.resx、AppResources.en.resx),这一点目前官方文档未明确说明。
具体调整步骤:
- 将原资源文件
Resources.en.resx重命名为AppResources.en.resx,保持存放路径Resources/Languages/不变 - 修改XAML中的资源引用代码:
xmlns:lang="clr-namespace:MyApp.Resources.Languages" Title="{x:Static lang:AppResources.title}"
内容的提问来源于stack exchange,提问作者Dura
相关产品推荐
相关产品推荐

