升级VS2017 15.7.1后Xamarin PCL项目UWP报CS7069错误求助
解决VS2017 15.7.1升级后Xamarin UWP项目的CS7069错误及版本冲突问题
嘿,刚接触Xamarin就碰到这种版本兼容问题确实挺闹心的,我帮你梳理几个针对性的解决办法,你可以挨个试试:
一、先修复UWP项目的Xamarin.Forms依赖绑定
- 右键你的UWP项目 → 管理NuGet程序包,切换到「已安装」标签,找到
Xamarin.Forms先卸载,再重新安装和PCL项目完全一致的版本(版本不一致是这类冲突的常见诱因)。 - 同时检查
Microsoft.NETCore.UniversalWindowsPlatform包,确保它的版本和VS2017 15.7.1兼容(推荐用6.1.9这类稳定版,别选预览版)。
二、强制统一程序集绑定重定向
打开UWP项目的.csproj文件(右键项目→编辑.csproj),在<PropertyGroup>节点里添加以下配置,让VS自动处理版本冲突:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
保存后重新加载项目,执行清理解决方案(菜单→生成→清理解决方案),再重新生成整个项目。
三、专项解决CS7069错误
- 右键UWP项目 → 添加 → 引用 → 勾选
System.Runtime(注意选UWP平台下的程序集,别选错成.NET Framework的),确认添加后重新编译。 - 如果还是报错,尝试在
App.xaml.cs顶部添加显式引用:
using System.Runtime; using System.Reflection;
- 另外,建议把你的PCL项目迁移到
.NET Standard 2.0(Xamarin官方现在更推荐这个,旧PCL在新VS版本下容易出兼容问题)。
四、处理System.Net.Http版本冲突
在UWP项目的.csproj文件里,添加以下配置强制指定兼容的版本:
<PackageReference Include="System.Net.Http" Version="4.3.3" />
(版本号可以根据你项目的实际情况调整,4.3.3是适配性比较好的稳定版本)
添加后右键解决方案→还原NuGet包,再重新生成。
最后试试终极清理重建流程
- 关闭VS2017,删除整个解决方案下所有项目的
obj和bin文件夹 - 重新打开VS,先还原NuGet包
- 清理解决方案,再重新生成所有项目
VS升级后经常会出现这类依赖绑定的小问题,这些步骤应该能解决大部分情况。如果还是不行,可以考虑把VS2017更新到15.9.x的稳定版(15.7.x确实存在一些Xamarin的已知兼容bug)。
内容的提问来源于stack exchange,提问作者Lefty
相关产品推荐
相关产品推荐

