То, что когда-то работало в моем приложении asp.net webforms, теперь выдает следующую ошибку:
System.MissingMethodException: Метод не найден
Метод DoThis
включен тот же класс, и он должен работать.
У меня есть общий обработчик как таковой:
public class MyHandler: IHttpHandler
{
public void Processrequest(HttpContext context)
{
// throws error now System.MissingMethodException: Method not found?
this.DoThis();
}
public void DoThis()
{
//
}
}
Для потомства я столкнулся с этим с голубой функцией, с помощью голубой длительной функции / длительная платформа задач. Оказывается, что у меня была устаревшая версия голубого времени выполнения функций, установленного локально. обновление его зафиксировало его.
В моем случае MissingMethodException был для метода, который был в том же файле!
Однако я только что добавил пакет NuGet, который использует.Net Standard2 для моего проекта с 4.7.1 предназначениями, который вызвал конфликт версий для Системы. Сеть. Http (4.7.1: версия 4.0.0.0, пакет NuGet с помощью Стандарта.NET 2 хочет 4.2.0.0). Это, кажется, известно проблемы, которые должны быть лучше в 4.7.2 (см. примечание 2) .
я использовал переадресацию связывания как это во всех других моих проектах, потому что были исключения, как только она пыталась загрузить 4.2.0.0, которые я не имел:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
Кроме этого проекта, где это кажется, это пытается загрузить Систему. Сеть. Http только , в то время как вызывание локальной функции, которая использует Систему. Сеть. Http. HttpResponseMessage, поскольку это - параметр или тип возврата (параметр во время отладки, возвратите тип, когда я запускаю тесты без отладчика, также немного странного). И вместо того, чтобы показать сообщение, что это не могло загрузить 4.2.0.0 версии Системы. Сеть. Http, это возвращает это исключение.