VS-2017下Xamarin.Forms targets重复导入错误求助
解决VS2017中Xamarin.Forms Targets重复导入的问题
我之前也踩过这个坑,给你分享几个亲测有效的排查和解决步骤,你可以一步步来:
直接检查项目.csproj文件
用文本编辑器(比如Notepad++)打开你的项目.csproj文件,搜索<Import Project="Xamarin.Forms"相关的语句。有时候会因为手动修改或者NuGet异常,导致项目文件里重复添加了Xamarin.Forms的targets导入,把多余的导入行删掉只保留一个即可。清空NuGet缓存并重新还原
缓存损坏经常会引发这类奇怪的问题:- 先关闭VS2017,打开管理员模式的命令提示符
- 执行命令:
nuget locals all -clear清空所有NuGet缓存 - 重新打开VS,右键项目选择「还原NuGet包」,等还原完成后再重新生成项目
检查解决方案级别的NuGet配置
看看解决方案根目录下的NuGet.Config文件(如果存在的话),有没有重复配置的包源或者特殊的绑定规则,这些可能导致Xamarin.Forms被多次引用。如果发现异常配置,可以暂时注释掉再测试效果。彻底重装Xamarin.Forms包
这是比较通用的修复方法:- 在VS的「解决方案资源管理器」里,右键项目 → 管理NuGet包
- 切换到「已安装」标签,找到Xamarin.Forms点击「卸载」,确认卸载完成
- 再切换到「浏览」标签,重新搜索并安装对应版本的Xamarin.Forms
- 安装完成后,点击菜单「生成 → 清理解决方案」,再重新生成项目
排查嵌套项目或共享构建文件
如果你的解决方案包含多个项目,或者引用了团队共享的自定义.targets文件,检查这些文件里是否也导入了Xamarin.Forms的targets——有时候共享配置会不小心造成重复导入。
如果以上方法都没解决,可以新建一个空白的Xamarin.Forms项目,对比新项目的.csproj文件和你当前项目的差异,大概率能找到隐藏的重复导入点。
内容的提问来源于stack exchange,提问作者user
相关产品推荐
相关产品推荐

