Веб-приложение на .NET 4.6.1 и "Method not found" в run-time
От: senglory  
Дата: 21.03.19 21:15
Оценка:
Есть приложение на .ТУЕ 4.6.1, собирается нормально. Но при запуске выдает такую хрень:

Exception thrown: 'System.MissingMethodException' in System.Web.Http.dll
Method not found: 'System.Net.Http.HttpRequestMessage System.Web.Http.Controllers.HttpActionContext.get_Request()'.


Эта самая System.Web.Http.dll лежит себе в фолдере bin. И метод get_Request() там вполне себе есть, судя по ILSPY. Что надо сделать чтобы приложение перестало падать?
Re: Веб-приложение на .NET 4.6.1 и "Method not found" в run-time
От: RushDevion Россия  
Дата: 22.03.19 08:38
Оценка: +1
S>Есть приложение на .ТУЕ 4.6.1, собирается нормально. Но при запуске выдает такую хрень:
S>

S>Exception thrown: 'System.MissingMethodException' in System.Web.Http.dll
S>Method not found: 'System.Net.Http.HttpRequestMessage System.Web.Http.Controllers.HttpActionContext.get_Request()'.

S>Эта самая System.Web.Http.dll лежит себе в фолдере bin. И метод get_Request() там вполне себе есть, судя по ILSPY. Что надо сделать чтобы приложение перестало падать?

MissingMethodException чаще всего появляется в результате вызова несуществующего метода через reflection.
Для начала нужно убедиться, что мы сами ничего такого не делаем.
Далее, нужно понять, где конкретно возникает ошибка и что при этом пытается сделать фреймворк.
Если есть стектрейс — смотрим его, смотрим исходники .NET.
Если нет — запускаемся под отладчиком, смотрим им.
Допустим, мы поняли, что действительно идет обращение к System.Web.Http.Controllers.HttpActionContext.get_Request() в System.Web.Http.dll.
Значит, в рантайме подгружается какая-то левая версия System.Web.Http.dll.
Берем старый добрый Fuslog, смотрим какие сборки грузятся.
Как вариант, если не хочется возиться с Fuslog — подписываемся на AppDomain.AssemblyLoad, смотрим там, откуда подтягивается сборка.
Re: Re: Веб-приложение на .NET 4.6.1 и "Method not found" в run-time
От: BlackHorse Россия  
Дата: 22.03.19 10:30
Оценка:
Здравствуйте, senglory, Вы писали:

S>Есть приложение на .ТУЕ 4.6.1, собирается нормально. Но при запуске выдает такую хрень:


S>

S>Exception thrown: 'System.MissingMethodException' in System.Web.Http.dll
S>Method not found: 'System.Net.Http.HttpRequestMessage System.Web.Http.Controllers.HttpActionContext.get_Request()'.


Попробуй сделать очистку проекта, потом закрыть студию и ручками удалить весь bin, obj, properties (своё только там не потри!), запустить студию и сделать полную пересборку.
Re[2]: Веб-приложение на .NET 4.6.1 и "Method not found" в run-time
От: senglory  
Дата: 22.03.19 11:07
Оценка:
RD>Берем старый добрый Fuslog, смотрим какие сборки грузятся.

Смущает в его описании вот что:

The Assembly Binding Log Viewer (Fuslogvw.exe) uses the Internet Explorer (IE) cache to store its binding log.


При чем тут ИЕ, если сайт, с к-рым работаю , рассчитан на Chrome? И как обойтись без ИЕ в таком случае, если до места падения с ИЕ просто не дойти — сам ИЕ раньше отвалится?
Re[3]: Веб-приложение на .NET 4.6.1 и "Method not found" в
От: RushDevion Россия  
Дата: 22.03.19 13:15
Оценка:
S>Смущает в его описании вот что:
S>

The Assembly Binding Log Viewer (Fuslogvw.exe) uses the Internet Explorer (IE) cache to store its binding log.


S>При чем тут ИЕ, если сайт, с к-рым работаю , рассчитан на Chrome? И как обойтись без ИЕ в таком случае, если до места падения с ИЕ просто не дойти — сам ИЕ раньше отвалится?

Действительно, причем тут IE.
Отредактировано 22.03.2019 13:18 RushDevion . Предыдущая версия . Еще …
Отредактировано 22.03.2019 13:17 RushDevion . Предыдущая версия .
Отредактировано 22.03.2019 13:16 RushDevion . Предыдущая версия .
Re: Веб-приложение на .NET 4.6.1 и "Method not found" в run-time
От: bnk СССР http://unmanagedvisio.com/
Дата: 23.03.19 10:50
Оценка: 4 (1)
Здравствуйте, senglory, Вы писали:

S>Есть приложение на .ТУЕ 4.6.1, собирается нормально. Но при запуске выдает такую хрень:


S>

S>Exception thrown: 'System.MissingMethodException' in System.Web.Http.dll
S>Method not found: 'System.Net.Http.HttpRequestMessage System.Web.Http.Controllers.HttpActionContext.get_Request()'.


S>Эта самая System.Web.Http.dll лежит себе в фолдере bin. И метод get_Request() там вполне себе есть, судя по ILSPY. Что надо сделать чтобы приложение перестало падать?


Вроде гуглится?
get_Request method not found
Re[2]: Веб-приложение на .NET 4.6.1 и "Method not found" в run-time
От: senglory  
Дата: 23.03.19 18:22
Оценка:
S>>Есть приложение на .ТУЕ 4.6.1, собирается нормально. Но при запуске выдает такую хрень:

S>>

S>>Exception thrown: 'System.MissingMethodException' in System.Web.Http.dll
S>>Method not found: 'System.Net.Http.HttpRequestMessage System.Web.Http.Controllers.HttpActionContext.get_Request()'.


S>>Эта самая System.Web.Http.dll лежит себе в фолдере bin. И метод get_Request() там вполне себе есть, судя по ILSPY. Что надо сделать чтобы приложение перестало падать?


bnk>Вроде гуглится?

bnk>get_Request method not found

Да, вот этот линк помог решить проблему. Странно только что когда я гуглил, то мне сперва этот линк выдало, но он не помог.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.