К сожалению, страница продукта для modernhttpclient на nuget.org не перечисляет никаких зависимостей, но при изменении доменного имени URL-адреса вместо * nuget.org используется fuget.org. перечисляет monoandroid, monotouch, portable-net45 + winrt45 + wp8 + wpa81 и xamarin.ios10. Следовательно, это целевые платформы, которые поддерживает пакет.
Другой способ проверить, какие TFM (псевдонимы целевой структуры) поддерживает пакет, - найти / скачать nupkg, а затем открыть его в виде zip-файла или использовать NuGet Package Explorer для поиска подпапок в lib/
.
Вы не сказали, какую целевую среду использует ваше веб-приложение, но именно здесь все становится очень сложным, и я не очень хорошо понимаю это. TFM .NET Framework совместимы с другими TFM .NET Framework более ранних версий. Точно так же .NET Core TFM совместимы с другими .NET Core TFM более ранних версий. .NET Standard - это совсем другое осложнение . NuGet также поддерживает резервную или альтернативную совместимость с TFM, чтобы приложения .NET Core могли использовать библиотеки, нацеленные на .NET Framework, но это лучшее предположение и может произойти сбой во время выполнения (возможно, даже не удастся скомпилировать, я не уверен, но восстановление будет успешным с предупреждением). Поскольку вы получаете не предупреждение, а сообщение об ошибке, он подсказывает мне, что portable-net45 не совместим с net45 и, следовательно, вероятно, не совместим с какой-либо целевой платформой, которую вы используете со своим веб-приложением (если только вы не приложение нацелено на net40 или более раннюю версию).
Сказав все это, когда я смотрел на пакет, чтобы увидеть, на какие платформы он нацелен, я увидел, что весь смысл пакета в том, чтобы использовать собственный HTTP-стек платформы, а не HTTP-стек Xamerin на мобильных платформах. Ваше веб-приложение не работает на мобильной платформе, оно работает на .NET Core или .NET Framework, поэтому вам не нужен пакет. Я предлагаю вам использовать #if
, #else
и #endif
, чтобы использовать NativeMessageHandler только на Android и IOS, а затем использовать конструктор HTTPClient по умолчанию (или использовать HttpMessageHandler) на других платформах.