第二次构建时出现“XamarinTelemetry任务意外失败”。

29

最新的VS预览版(VS 17.3预览版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>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: 
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: WRN: Assembly binding logging is turned OFF.
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: Note: There is some performance penalty associated with assembly bind failure logging.
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:

我找到的唯一解决方法是清除整个解决方案并重新构建,这样可以成功,但是下次尝试构建时又会失败。

有人找到了解决办法吗?


我也在Visual Studio 2022 17.3版本(Windows)遇到了这个问题。 - chri3g91
2
Xamarin开发团队破坏构建工具链的频率之高令人惊叹。 - juwens
同样的问题。在VS 2019中没有遇到过这个问题。 - Vering
6个回答

31

首先,不要把怒火发泄在我身上..

更新:2022年8月16日

根据Visual Studio v17.3.1的发布说明,此问题已得到解决。然而,如果仍然存在问题,可以尝试以下方法:

根据Visual Studio开发社区帖子中的解决方法:

  1. 以管理员模式打开Xamarin.Sdk.targets文件(我使用Notepad++)
    • C:\Program Files\Microsoft Visual Studio\2022\Preview\Msbuild\Xamarin\Xamarin.Sdk.targets
  2. 注释掉<XamarinTelemetry ... />
  3. 保存文件并重新构建解决方案。

虽然这是一个临时解决方法,请在下面的官方VS Developer社区帖子中提供您的正式反馈。


1
这个程序运行良好,但是遥测数据突然又出现了。不确定是什么原因导致它重新出现,但如果它停止工作,请再次检查那里。 - Jesse Liberty
我完全理解您的情况。到目前为止,这对我一直很有效。但至少这是一个快速解决方法,直到微软解决实际问题。 - Damian
4
XamarinTelemetry是用来干什么的?它们会秘密上报信息吗?:D - Emil
2
FYI,它在我这里修复了刚发布的VS2022 - Maui准备好了;) - kenny
1
在 Visual Studio 2022 v. 17.3 中,这个错误也被我解决了。但是,将其注释掉会对应用商店的存档部署产生任何影响吗? - chri3g91
6
警告:这个错误在17.3版本中仍会偶尔出现,甚至在17.4预览版中也是如此。我一直在使用17.3的预览版,最近几周似乎变成了一个很大的问题,我想是遥测后端的问题,而不是目标本身的问题。但移除目标可能是最简单的“解决方法”。 - Captain Obvious

2

在VS安装中有几个配置文件引用了13.0.0.0版本。

<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />

我用以下内容替换了它们:
<bindingRedirect oldVersion="0.0.0.0-13.0.1.0" newVersion="13.0.1.0" />

并且已经能够构建。似乎13.0.0.0不作为NuGet包公开提供...


1
不幸的是,尽管这样做可以在不清理的情况下构建项目,但会导致大量警告和其他问题(例如此处)。 - BlueRaja - Danny Pflughoeft

1
在Visual Studio 17.3.0中,我右键点击项目并选择“清理”。 然后我再次尝试右键点击该项目并选择“生成”,它成功了,没有出现“XamarinTelemetry任务意外失败”的错误。 这是一个包含.NET Standard 2.0库的解决方案,该库引用Xamarin Forms,而问题所在的项目是引用该库的ASP.NET Core 3.1 API。

这在问题中提到了... - BlueRaja - Danny Pflughoeft

0

我在我的Xamarin表单解决方案中遇到了完全相同的问题,升级从17.2到17.3后。 今天我安装了17.3.2。经过十几次构建后,似乎问题已得到解决。


0
今天我遇到了这个问题,我所做的就是重新构建解决方案,点击“全部保存”,关闭应用程序,然后再次打开它,但它没有起作用。我重建了项目,但也不起作用。所以,我只是重复这个过程,关闭Visual Studio,重建和运行2次(我还去错误文件中查看了一下),现在它可以正常工作了。我不知道有什么区别,但当你重复这个过程时它就能够工作。
编辑:错误仍在重复出现。当错误发生时,我只使用恢复出厂设置

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接