У меня был похожий сценарий, когда я получал это исключение. В моем решении для веб-приложений было два проекта, названных, например, DAL и DAL.CustSpec. В проекте DAL был метод с именем Method1, а в DAL.CustSpec - нет. Мой основной проект имел ссылку на проект DAL, а также ссылку на другой проект с именем AnotherProj. Мой основной проект позвонил в Method1. Проект AnotherProj имел ссылку на проект DAL.CustSpec, а не проект DAL. Конфигурация Build имеет настроенные для сборки проекты DAL и DAL.CustSpec. После того, как все было построено, мой проект веб-приложения содержал сборки AnotherProj и DAL в своей папке Bin. Однако, когда я запустил веб-сайт, папка Temporary ASP.NET для веб-сайта имела сборку DAL.CustSpec в своих файлах, а не сборку DAL, по некоторым причинам. Конечно, когда я запустил часть, которая называлась Method1, я получил ошибку «Метод не найден».
Чтобы исправить эту ошибку, мне нужно было изменить ссылку в проекте AnotherProj с DAL.CustSpec на DAL, удалить все файлы в папке Temporary ASP.NET Files, а затем повторно открыть веб-сайт. После этого все заработало. Я также убедился, что проект DAL.CustSpec не создавался, сняв флажок в Конфигурации сборки.
Я думал, что поделюсь этим, если это поможет кому-то еще в будущем.