You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS 17.3 Preview3二次构建时XamarinTelemetry任务意外失败求助

解决VS 17.3 Preview 3中Xamarin二次构建失败(XamarinTelemetry任务报错)问题

问题现象

在VS 2022 17.3 Preview 3预览版中构建Android/iOS应用时,首次构建可成功完成,但执行第二次构建会直接失败,核心报错:

The "XamarinTelemetry" task failed unexpectedly.

查看详细构建日志,根因为程序集加载失败:

1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: The "XamarinTelemetry" task failed unexpectedly.
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: 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.
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: File name: 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    at Microsoft.VisualStudio.Telemetry.TelemetrySessionSettings.GetFaultEventBucketFilterJson(List`1 bucketFilters)
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    at Microsoft.VisualStudio.Telemetry.TelemetrySessionSettings.ToString()
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    at Microsoft.VisualStudio.Telemetry.TelemetrySession.SerializeSettings()
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    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
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    at Xamarin.Common.Tasks.XamarinTelemetry.Execute() in D:\a\_work\1\s\src\MSBuild\Xamarin.Common.Tasks\XamarinTelemetry.cs:line 31
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

当前仅能通过清理整个解决方案后重新构建临时规避,但二次构建时问题复现。

可行解决方案

方案1:禁用Xamarin遥测任务(快速生效)

直接跳过触发报错的遥测收集任务:

  • 右键Xamarin项目,选择编辑项目文件(.csproj/.vbproj)
  • 在</Project>标签前添加以下配置:
<PropertyGroup>
  <EnableXamarinTelemetry>false</EnableXamarinTelemetry>
</PropertyGroup>
  • 保存文件后重新构建,后续多次构建不会再触发该报错。

方案2:手动部署指定版本的Newtonsoft.Json程序集

若需保留遥测功能,手动补充缺失的程序集:

  1. 获取Newtonsoft.Json 13.0.0.0版本的程序集(可通过NuGet包管理器提取对应版本文件)
  2. 定位VS安装目录下的MSBuild Xamarin路径:C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\
  3. 将Newtonsoft.Json.dll和Newtonsoft.Json.xml复制到该目录
  4. 重启VS后验证多次构建是否正常。

方案3:升级到最新预览版/正式版

该问题属于预览版已知bug,后续更新版本已修复:

  • 打开VS的工具 > 获取工具和功能
  • 切换到预览版频道,安装最新更新包
  • 升级完成后重启VS,测试构建是否恢复正常。

内容的提问来源于stack exchange,提问作者BlueRaja - Danny Pflughoeft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:37:15