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

fjnneemd  于 2022-12-07  发布在  其他
关注(0)|答案(7)|浏览(130)

使用最新的VS预览版(VS 17.3 Preview 3),在Android和iOS上,第一次构建应用程序时可以正常工作,但第二次构建时却失败了
“XamarinTelemetry”任务意外失败。
查看日志时,我看到以下内容:

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:

我找到的唯一解决方法是清理整个解决方案并重新生成,这样做成功了,但在下次尝试生成时又失败了。
有人找到解决办法了吗?

x6h2sr28

x6h2sr281#

首先,不要在这里射杀信使。

更新日期:2022年8月16日

根据Visual Studio v17.3.1的发行说明,此问题已得到解决。
根据Visual Studio开发社区线程上的解决方案线程:

  • 在管理模式下打开,Xamarin.Sdk.targets(* 我使用,记事本++*)
  • C:\Program Files\Microsoft Visual Studio\2022\Preview\Msbuild\Xamarin\Xamarin.Sdk.targets
  • 注解掉<XamarinTelemetry ... />
  • 保存文件并重新生成解决方案。

虽然它确实在过渡期间工作,但请在下面的链接中转发您对官方VS开发人员社区线程的官方反馈。

dz6r00yl

dz6r00yl2#

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包公开提供的。

uklbhaso

uklbhaso3#

在Visual Studio 17.3.0中,我右键单击项目并选择“清理”。
然后,我再次尝试右键单击该项目并选择“构建”,它工作正常,未出现“XamarinTelemetry任务意外失败”错误。
这是在一个包含引用Xamarin Forms的.NET标准2.0库的解决方案中,并且所讨论的项目是引用该库的ASP.NET核心3.1 API。

xj3cbfub

xj3cbfub4#

VS有固定的次要版本,例如“2022 LTSC 17.2”。
将其与当前的VS并行安装或单独安装。
https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-history#evergreen-bootstrappers
直接下载:

我更喜欢这样而不是修改您的17.3安装。
它还以不同的名称出现,因此很容易区分。
| | |
| - -|- -|
| 开始菜单|

|
| VS安装程序|

|

qf9go6mv

qf9go6mv5#

我今天经历了这个,我所做的就是重建解决方案,单击“保存全部”,关闭应用程序并再次打开它,但它不起作用。我重建了项目,但它也不起作用。所以再次,我只是通过关闭VisualStudio重复这个过程,重建和运行2次(我也去了错误文件只是查看它),它的工作很好。我不知道它有什么不同,但它的工作时,你重复的过程。
编辑:错误仍在重复。我只是在错误发生时使用***出厂重置***。

daolsyd0

daolsyd06#

在从17.2升级到17.3之后,我的Xamarin表单解决方案也遇到了同样的问题。今天我安装了17.3.2。十几个版本之后,这个问题似乎得到了解决。

wd2eg0qa

wd2eg0qa7#

Xamarin并不打算在VS 17.3 Preview中开发,因为微软计划用MAUI取代它,并停止对Xamarin的支持(现在可能不会在VS 17.3中,但在不久的将来会)。如果你不想使用MAUI,那么你目前最好的选择是VS 17.2,因为它仍然完全支持Xamarin。
我对这个问题的解决方案是同时安装VS 17.2和17.3 Preview,并分别将它们用于Xamarin和MAUI。

相关问题