Visual Studio 2017加载Xamarin Android项目失败求助
解决Visual Studio 2017中Xamarin Android项目无法加载(缺失子类型{EFBA0AD7-5A72-4C68-AF49-83D382785DCF})的问题
我之前也碰到过这个一模一样的棘手问题,在VS2017里折腾Xamarin项目时,这个子类型缺失的报错真的让人头大——你已经试过了删.suo文件、修复VS这些常规操作都没用,那咱们来点更针对性的解决方案:
手动编辑项目文件移除无效子类型标识
这个{EFBA0AD7-5A72-4C68-AF49-83D382785DCF}GUID对应的是旧版Xamarin相关的项目子类型,直接把它从项目配置里删掉就行:- 右键无法加载的项目,选择「卸载项目」;卸载后再次右键,选择「编辑 [你的项目名].csproj」
- 在打开的XML文件里搜索
ProjectTypeGuids节点,找到包含这个GUID的那一行 - 把这个GUID从列表中移除(注意保留其他必要的GUID,比如Android项目的主GUID),保存文件
- 右键项目选择「重新加载项目」,基本就能正常打开了
检查并强制更新Xamarin组件
有时候VS修复并没有同步更新Xamarin的核心组件:- 打开VS2017的「工具」->「获取工具和功能」
- 在安装界面里找到「移动开发」分类下的Xamarin相关组件,确认它们是最新版本;如果有可用更新,直接安装
- 重启VS后再尝试加载项目
修复项目的Xamarin.targets引用路径
旧项目的目标文件引用可能指向了不存在的路径:- 同样编辑
.csproj文件,找到类似<Import Project="xxx\Xamarin.Android.targets" />的节点 - 把它替换成VS2017默认的标准路径:
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> - 保存后重新加载项目
- 同样编辑
终极方案:新建项目迁移代码
如果上面的方法都不生效,那就彻底避开旧项目的配置问题:- 新建一个空白的Xamarin Android项目,先确认这个新项目能正常打开和运行
- 把旧项目里的代码文件、Resources目录下的资源文件、配置文件等逐一复制到新项目中
- 重新引用必要的NuGet包和第三方程序集,调整项目配置后就能正常使用了
这些方法都是我在处理同类问题时验证过有效的,优先试试第一个编辑.csproj的方法,大概率能解决你的问题。
内容的提问来源于stack exchange,提问作者Wassim01
相关产品推荐
相关产品推荐

