Я тоже столкнулся с тем же исключением, хотя моя проблема была в другом, в одной из моих библиотек был метод, который изначально выглядел так:
public void WriteMessage(string msg)
{
...
}
и появился новый запрос на изменение, и он превратился в это:
public void WriteMessage(string msg, int code = 100)
{
...
}
после этого я обновил проект, использующий эту библиотеку, с недавно скомпилированным двоичным файлом, он начал выдавать это исключение.
После многих попыток ничего не сработало, даже очистить проект, перестроить, удалить и повторно добавить ссылку, затем я попытался изменить вызов метода проекта из:
...
library.WriteMessage('hello!');
...
до:
...
library.WriteMessage('hello!', 100);
...
и затем скомпилировал проект, он решил проблему, после чего я изменил его обратно на:
...
library.WriteMessage('hello!');
...
и теперь он волшебным образом исправил все, может быть, где-то остались какие-то кэшированные метаданные, которые не обновляются, и изменение способа вызова метода каким-то образом ясно напоминает ему, что сигнатура метода отличается, но не так отличается.
Надеюсь, это поможет кому-то, столкнувшемуся с той же проблемой, с которой я столкнулся.