Visual Studio更新后创建Xamarin.Forms应用遇XamlGtask加载失败报错
我之前也碰到过VS更新后出现这类构建任务加载失败的问题,大多是缓存冲突、组件版本不匹配或者VS安装文件损坏导致的,试试下面这些分步排查的方法:
清理重建+手动删除缓存文件夹
先右键解决方案选择「清理解决方案」,接着「重建解决方案」。之后手动删掉解决方案目录下的bin、obj文件夹,还有隐藏的.vs文件夹——这个文件夹经常会残留旧的构建缓存,删掉后VS会重新生成干净的配置。统一所有项目的Xamarin.Forms NuGet版本
很多时候这个错误是因为共享项目和平台项目(Android/iOS)的Xamarin.Forms版本不一致导致的。打开NuGet包管理器,切换到「解决方案」视图,确保所有项目的Xamarin.Forms包版本完全相同。如果已经重装过,试试卸载所有项目的Xamarin.Forms,然后重新安装同一个稳定版本(比如最新的正式版,或者之前能正常运行的版本)。修复Visual Studio安装
VS更新过程中偶尔会出现组件缺失或损坏的情况。打开Visual Studio Installer,选中你的Community版本,点击「修改」,切换到「单个组件」标签,确认所有Xamarin相关组件(Xamarin.Forms、Xamarin.Android SDK等)都已勾选,然后重新安装;也可以直接点击「修复」选项,让安装器自动修复损坏的文件。检查项目文件的MSBuild绑定配置
右键项目选择「编辑项目文件」,查找是否有类似下面的节点:<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlG" AssemblyFile="Xamarin.Forms.Build.Tasks.dll" />确保
AssemblyFile的路径是正确的,或者可以尝试替换为NuGet包的绝对路径(比如$(NuGetPackageRoot)xamarin.forms\你的版本号\build\Xamarin.Forms.Build.Tasks.dll)。如果发现重复的旧版本引用,直接删除后保存,再重新加载项目。重置VS用户数据与组件缓存
关闭所有VS实例,以管理员身份打开命令提示符,运行:devenv /resetuserdata这个命令会重置VS的用户设置和组件缓存,能解决不少缓存引发的奇怪问题,不过重置后你需要重新配置一些VS的个性化设置。
测试全新项目
如果上面的方法都没用,创建一个空白的新Xamarin.Forms项目,看看能不能正常构建。如果新项目没问题,说明旧项目的配置有损坏,你可以逐步把旧代码迁移到新项目中。
内容的提问来源于stack exchange,提问作者Abhirup Ghosh

