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程序集
若需保留遥测功能,手动补充缺失的程序集:
- 获取Newtonsoft.Json 13.0.0.0版本的程序集(可通过NuGet包管理器提取对应版本文件)
- 定位VS安装目录下的MSBuild Xamarin路径:
C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\ - 将
Newtonsoft.Json.dll和Newtonsoft.Json.xml复制到该目录 - 重启VS后验证多次构建是否正常。
方案3:升级到最新预览版/正式版
该问题属于预览版已知bug,后续更新版本已修复:
- 打开VS的工具 > 获取工具和功能
- 切换到预览版频道,安装最新更新包
- 升级完成后重启VS,测试构建是否恢复正常。
内容的提问来源于stack exchange,提问作者BlueRaja - Danny Pflughoeft
相关产品推荐
相关产品推荐

