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

Visual Studio 2017中Resource.Designer.cs智能感知歧义引用问题

解决Xamarin.Android中Resource类歧义引用与同名成员重复声明问题

我之前在VS2017开发Xamarin.Android项目时,也碰到过几乎一模一样的问题——项目能正常构建部署,但智能感知一直报Ambiguous Reference,打开Resource.Designer.cs还提示“Member with the same name is already declared”,改命名空间、重建项目甚至新建项目都没用,折腾了好一阵才找到几个有效的解决办法,分享给你:

1. 彻底清理并重新生成Resource.Designer.cs

这是最常见的解决思路,很多时候是自动生成的文件出现了重复定义:

  • 右键项目 → 选择清理,先清空现有构建产物
  • 找到项目中Resources文件夹下的Resource.Designer.cs文件,直接删除(不用担心,系统会重新生成)
  • 右键项目 → 选择生成,等待系统自动重新生成Resource.Designer.cs

生成后可以检查这个文件的内容,确认没有重复的成员声明。另外你提供的.csproj配置看起来是正常的,确保这些配置没有被重复定义:

<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<AndroidResgenClass>Resource</AndroidResgenClass>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidUseLatestPlatformSdk>false</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v7.1</TargetFrameworkVersion>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>

2. 清理Visual Studio与Xamarin缓存

智能感知报错但构建正常,大概率是VS的缓存出了问题:

  • 完全关闭Visual Studio 2017
  • 删除以下路径的缓存文件夹:
    • %LOCALAPPDATA%\Microsoft\VisualStudio\15.0\ComponentModelCache(VS2017的组件模型缓存)
    • %LOCALAPPDATA%\Xamarin(Xamarin的资源与SDK缓存)
  • 重启VS,重新打开项目并生成

3. 检查项目中是否存在重复的Resource定义

有时候可能不小心在项目中添加了自定义的Resource类,或者引用的第三方库中也包含同名的Resource类:

  • 全局搜索项目中的class Resource,看是否有除了Resource.Designer.cs之外的定义
  • 检查项目引用的NuGet包或DLL,确认没有其他库导出了同名的Resource类

4. 修复Xamarin.Android组件安装

既然你怀疑是安装问题,可以尝试修复VS中的Xamarin组件:

  • 打开Visual Studio安装程序,找到已安装的VS2017实例,点击修改
  • 在工作负载中找到移动开发.NET,确保Xamarin.Android组件已勾选
  • 点击修改,等待安装程序完成组件修复

这些方法我当时试下来,清理缓存+重新生成Resource.Designer.cs就解决了问题,你可以按顺序试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:03:38