RUDE

«Неожиданный сбой задачи XamarinTelemetry» во второй сборке

С последним предварительным просмотром VS (VS 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>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:

Единственный обходной путь, который я нашел, - это очистить все решение и перестроить его, что удается, но затем снова происходит сбой при следующей попытке сборки.

Кто-нибудь нашел решение этого?


16
1 717
6

Ответы:

В установке 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...


Xamarin не предназначен для разработки в VS 17.3 Preview, поскольку Microsoft планирует заменить его MAUI и прекратить поддержку Xamarin (возможно, не сейчас с VS 17.3, но это произойдет в ближайшем будущем). Если вы не хотите использовать MAUI, лучшим вариантом для Xamarin в настоящее время является VS 17.2, так как он по-прежнему полностью поддерживает Xamarin.

Мое решение этой проблемы заключалось в установке VS 17.2 и 17.3 Preview и использовании их для Xamarin и MAUI соответственно.


Решено

Во-первых, не стреляйте в посыльного здесь..

В соответствии с потоком обходного пути в потоке сообщества разработчиков Visual Studio:

  1. Open, Xamarin.Sdk.targets in Admin Mode (I use, Notepad++)
    • C:\Program Files\Microsoft Visual Studio\2022\Preview\Msbuild\Xamarin\Xamarin.Sdk.targets
  2. Comment out the <XamarinTelemetry ... />
  3. Save file and rebuild the solution.

Хотя пока это работает, отправьте свой официальный отзыв в официальную ветку сообщества разработчиков VS по ссылке ниже.


Я испытал это сегодня, и все, что я сделал, это перестроил решение, нажал «сохранить все», закрыл приложение и снова открыл его, но это не сработало. Я пересобрал проект, но он тоже не работал. Итак, еще раз, я просто повторяю процесс, закрыв визуальную студию, пересобираю и запускаю 2 раза (также я зашел в файл ошибки, только что просмотрев его), и он работает нормально. Я не знаю, какие различия это сделало, но это работает, когда вы повторяете процесс.

Обновлено: ошибка все еще повторяется. Я просто использую Сброс к заводским настройкам, когда возникает ошибка.


Доступны исправленные минорные версии VS, например «2022 LTSC 17.2».

Установите его параллельно с вашим текущим VS или отдельно.

https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-history#evergreen-bootstrappers

Прямые загрузки:

Я предпочитаю это модификации вашей установки 17.3.

Он также появляется под другим именем, поэтому его легко отличить.

стартовое менюenter image description here
Установщик VSenter image description here

В Visual Studio 17.3.0 я щелкнул проекты правой кнопкой мыши и выбрал «Очистить».

Затем я снова попытался щелкнуть проект правой кнопкой мыши и выбрать «Сборка», и это сработало, ошибка «Неожиданный сбой задачи XamarinTelemetry» не возникла.

Это решение, содержащее библиотеку .NET Standard 2.0, которая ссылается на Xamarin Forms, а рассматриваемый проект — это API-интерфейс ASP.NET Core 3.1, ссылающийся на библиотеку.