VS2017跨平台App部署至iPhone失败:引用异常问题求助
解决Xamarin.iOS真机部署时System.Configuration引用缺失的问题
我之前也碰到过一模一样的问题——VS2017开发的跨平台App在iPhone模拟器跑完全正常,一部署到真机就弹出MT0136警告和MT2101错误。核心原因是Xamarin.iOS的真机运行环境对.NET Framework的部分程序集做了精简优化,而且VS默认的引用列表里不会主动显示这个组件,得手动处理才行。
给你几个亲测有效的解决步骤:
手动浏览添加程序集引用
右键你的iOS项目 → 选择「添加」→「引用」,在弹出的窗口里点击「浏览」,导航到Xamarin.iOS的参考程序集目录(路径根据你的VS版本和安装位置调整,比如社区版默认路径是C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.iOS\v1.0),找到System.Configuration.dll选中添加即可。直接编辑项目文件强制添加引用
如果上面的方法找不到目标文件,或者添加后还是报错,试试直接修改项目配置文件:- 右键iOS项目 → 「卸载项目」
- 右键已卸载的项目 → 「编辑[你的项目名].csproj」
- 在
<ItemGroup>节点里添加这段XML代码(注意调整HintPath里的路径,匹配你的VS实际安装路径):<Reference Include="System.Configuration"> <HintPath>..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.iOS\v1.0\System.Configuration.dll</HintPath> </Reference> - 保存文件,重新加载项目,然后清理并重新生成解决方案。
额外排查优化点
- 检查Xamarin.iOS的版本,通过NuGet把相关包更新到VS2017支持的最新稳定版,避免版本兼容问题
- 如果项目里用了第三方NuGet包,确认这些包是否依赖System.Configuration,尝试把它们更新到兼容Xamarin.iOS的版本
- 手动删除项目的
bin和obj文件夹,再重新生成,清除缓存的旧引用残留
内容的提问来源于stack exchange,提问作者Luis Guzman
相关产品推荐
相关产品推荐

