升级VS 2022至17.3版本后编译iOS应用出现XamarinTelemetry错误
解决Visual Studio 2022 v17.3编译iOS应用时XamarinTelemetry任务失败问题
升级Visual Studio 2022到v17.3版本后,编译原有正常运行的iOS应用时出现如下错误:
Error The "XamarinTelemetry" task failed unexpectedly. System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified. File name: 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' at Microsoft.VisualStudio.Telemetry.TelemetrySessionSettings.GetFaultEventBucketFilterJson( List`1 bucketFilters) at Microsoft.VisualStudio.Telemetry.TelemetrySessionSettings.ToString() at Microsoft.VisualStudio.Telemetry.TelemetrySession.SerializeSettings() at Xamarin.Common.Tasks.Telemetry.GetSession(IBuildEngine4 buildEngine, String vsTelemetrySession) in D:\a\_work\1\s\src\MSBuild\Xamarin.Common.Tasks\Telemetry.cs:line 62 at Xamarin.Common.Tasks.XamarinTelemetry.Execute() in D:\a\_work\1\s\src\MSBuild\Xamarin.Common.Tasks\XamarinTelemetry.cs:line 31 at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
已尝试安装最新版Newtonsoft.Json、直接引用dll、清理重建项目均无效,可尝试以下方案:
修复Visual Studio安装
打开Visual Studio Installer,选中对应版本的VS点击"修改",然后选择"修复"。此操作会重新部署VS的核心组件,修复Xamarin相关依赖的缺失或损坏,包括正确版本的Newtonsoft.Json。手动将Newtonsoft.Json注册到全局程序集缓存(GAC)
找到VS安装目录下的Newtonsoft.Json.dll(路径示例:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Xamarin\Xamarin.CommonTasks),确保该dll版本为13.0.0.0。以管理员身份打开命令提示符,执行:gacutil /i "完整的dll文件路径"临时禁用Xamarin遥测
若上述方法暂时无法生效,可在项目的.csproj文件中添加以下配置,跳过遥测任务以完成编译:<PropertyGroup> <EnableXamarinTelemetry>false</EnableXamarinTelemetry> </PropertyGroup>此为临时 workaround,建议后续优先修复组件依赖问题。
更新Xamarin.iOS至兼容版本
通过NuGet包管理器,将项目中的Xamarin.iOS相关包更新到与VS2022 v17.3兼容的最新版本,确保依赖组件版本匹配。
内容的提问来源于stack exchange,提问作者Prescott Chartier
相关产品推荐
相关产品推荐

