Проблема с Xamarin при инициализации HttpClient

#c# #xamarin #httpclient

#c# #xamarin #httpclient

Вопрос:

У меня возникла проблема с моим Android-проектом в Xamarin при запуске отладки, которая только что началась. Это почти первое, что происходит после InitializeComponent(); App.xaml.cs ввода. Я инициализирую HttpClient следующим образом:

 static readonly HttpClient client = new HttpClient();
 

но сразу же появляется следующее сообщение об ошибке:

 {System.InvalidProgramException: Invalid IL code in ObjCRuntime.RuntimeOptions:GetHttpMessageHandler (): IL_0000: ret
  at System.Net.Http.HttpClient.CreateDefaultHandler () [0x00000] in <e329308c7a294b1ebc65b0effd900db2>:0 
  at System.Net.Http.HttpClient..ctor () [0x00000] in <e329308c7a294b1ebc65b0effd900db2>:0 
  at [MYAPP].Web.WebClient..cctor () [0x00000] in [MYAPPPATH]WebWebClient.cs:20 }
 

Кажется, я не могу найти никакой помощи и поддержки, поэтому любая помощь очень ценится.

Приветствия,

Джастин

Комментарии:

1. Возможно, у вас ошибка в настройках вашего приложения. См.: xamarin.github.io/bugzilla-archives/41/41240/bug.html

Ответ №1:

Я могу с уверенностью на 99% подтвердить, что это связано с последними обновлениями сообщества Visual Studio 2019 (не уверен, что это изолировано только для сообщества). У меня была точно такая же проблема, когда я обновился с 16.8.x до 16.9.2 и могу подтвердить, что она все еще присутствует в 16.9.3. У меня есть отдельный ноутбук с VS 2019 16.7.6, на котором работает та же кодовая база без проблем.

К сожалению, похоже, что откатить установки сообщества VS 2019 невозможно. Надеюсь, это поможет.

Комментарии:

1. Большое спасибо, оказалось, что Xamarin. iOS нашла свой путь в мой проект Android, вызвав проблему.

2. Вау. Это именно то, что произошло и со мной. Удаление ссылок на Xam.iOS из ОБОИХ . Проекты Android и .iOS устранили проблему для меня. Я ценю помощь! Это загадка, как ссылки попали туда в первую очередь… Ну что ж.