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

VS2017 IntelliSense报错:Resource.Dimension无自定义维度定义

解决Visual Studio 2017中Xamarin.Android自定义维度资源IntelliSense标红问题

这个问题我之前帮不少开发者排查过,大概率是资源生成流程或项目配置的小疏漏,咱们一步步来搞定:

1. 确认维度文件的生成操作设置

首先得确保你的Resources\values\dimens.xml被正确识别为Android资源:

  • 在解决方案资源管理器里右键点击dimens.xml,选择「属性」
  • 检查「生成操作」是否设置为AndroidResource(别选成Content或None)
  • 若设置不对,修改后保存,先清理项目再重建

2. 重置自动生成的资源文件

Xamarin.Android靠Resource.designer.cs让C#代码访问资源,这个文件偶尔会过期:

  • 右键项目选择「清理」,清空旧的生成文件
  • 找到项目目录下obj\Debug(或Release)文件夹,删除里面的Resource.designer.cs
  • 重新右键项目选择「生成」,VS会重新生成完整的资源映射
  • 生成完成后打开Resource.designer.cs,搜一下你自定义的main_text_item_size,确认它已经被包含进去

3. 检查维度名称的命名规范

虽然你的示例名称main_text_item_size没问题,但还是要确认:

  • 维度名称只能用小写字母、数字和下划线,不能有大写、空格或特殊字符
  • 如果之前有不符合规范的命名,修改后重复步骤2的清理重建操作

4. 排查Xamarin工具版本问题

旧版本的Xamarin.Android工具偶尔会有资源解析bug:

  • 打开VS2017的「工具」→「选项」→「Xamarin」→「Android设置」,看看有没有可用的工具更新
  • 若有更新,安装后重启VS,再重新生成项目

应急临时方案(不推荐长期用)

如果上面的方法都没立刻生效,你可以先通过资源ID直接访问应急:

var textSize = Resources.GetDimension(Resource.Dimension.main_text_item_size);

不过还是建议搞定根源问题,让IntelliSense正常工作更省心

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:40:55