更新Xamarin.Forms至3.0后出现Tasks与目标不匹配错误求助
嗨,我之前帮好几个开发者处理过这个升级后的问题,别慌,咱们一步步来排查解决:
清理重建+手动删除缓存文件夹
升级后最常见的就是缓存残留导致的冲突。先右键解决方案选择Clean Solution,完成后再选Rebuild Solution。如果还是报错,手动删除每个项目下的bin和obj文件夹,然后重新编译项目。统一所有项目的Xamarin.Forms版本
一定要确保你的共享项目(PCL/.NET Standard)和各个平台项目(Android、iOS、UWP等)的Xamarin.Forms版本完全一致。3.0系列有不少子版本,哪怕只差一个小版本号都可能触发这个错误。打开NuGet包管理器,逐个检查每个项目的Xamarin.Forms版本,统一更新到同一个3.0.x版本。检查.csproj文件中的目标文件引用
有时候升级过程中,旧版本的MSBuild目标文件引用会残留在项目文件里。找到每个平台项目的.csproj文件,用文本编辑器打开,查找类似<Import Project="..\packages\Xamarin.Forms.xxx\build\...\Xamarin.Forms.targets" />的节点,确认引用的是3.0版本的路径,如果是旧版本的引用,要么替换成正确的3.0路径,要么直接删除这个节点(NuGet会自动重新添加正确的引用)。确认Android项目的目标框架版本
Xamarin.Forms 3.0对Android的目标框架有最低要求,需要是Android 8.0(API 26)或更高版本。右键Android项目选择“属性”,在“应用程序”标签页里检查“目标框架”,如果版本过低,调整到符合要求的版本后重新编译。重置Xamarin组件缓存
如果上面的方法都没效果,试试清空Xamarin的组件缓存。先关闭Visual Studio,然后删除%LOCALAPPDATA%\Xamarin\Cache文件夹下的所有内容,再重新打开VS加载项目编译。
如果这些操作后还是无法解决问题,可以把完整的错误日志或者项目的基本结构贴出来,这样能更精准地定位问题~
内容的提问来源于stack exchange,提问作者Mimma

