Flurl отсутствует метод исключения? - PullRequest
1 голос
/ 11 октября 2019

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

System.Threading.Tasks.Task`1<System.Net.Http.HttpResponseMessage>Flurl.Http.GeneratedExtensions.PostJsonAsync(Flurl.Http.IFlurlRequest, System.Object, System.Threading.CancellationToken, System.Net.Http.HttpCompletionOption)

Вот странная вещь;Первоначально я не включал System.Net.Http в мою установку, и у большинства пользователей все работало нормально, но некоторые начали испытывать «неспособность загрузить System.Net.Http версии 4.1.x» (не помню часть xно это было 4.1.что-то ...). Во всяком случае, я посмотрел, и он строит с System.Net.Http 4.6.26907.1, когда я ссылаюсь на Flurl.Http 2.4.2.0. Когда я включаю это в установку, они получают вышеуказанную ошибку. Это только для нескольких пользователей, большинство (включая мою машину разработчика) не получают никаких ошибок и работают нормально, что я не понимаю.

Кто-нибудь знает, почему это будет делать, и особенно, почему это будетбыть на одних машинах а не на других?

1 Ответ

2 голосов
/ 11 октября 2019

Это довольно общая проблема с System.Net.Http. Я сталкивался с этим раньше, и чем больше «чистого листа» я получаю, тем больше мне повезло. Попробуйте это:

  1. Удалите пакеты NuGet с Flurl и Flurl.Http.
  2. Вы работаете в .NET Framework? Если это так, и у вас установлен System.Net.Http через NuGet, удалите его тоже. Вам, вероятно, это не нужно.
  3. Проверьте файл web.config или app.config и удалите все перенаправления привязки , связанные с System.Net.Http. (Не цитируйте меня по этому поводу, но я думаю Я даже решил это, удалив все упоминания System.Net.Http из * .config полностью. Если вы попробуете это, просто убедитесь, что вы можете его свернутьназад.)
  4. Переустановите Flurl.Http. (Он потянет за собой ядро ​​Flurl, поэтому не делайте их отдельно.)

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

...