У меня возникла странная ошибка компилятора с методами расширения. У меня есть сборка, которая имеет метод расширения, например
public static class MyClass
{
public static Bar GetBar(this Foo foo)
{
return new Bar();
}
}
И в другом месте той же сборки я делаю что-то вроде этого
Foo foo = new Foo();
var bar = foo.GetBar();
Когда я чист и компилирую все в порядке. НО, как только я сделаю небольшое изменение (например, лишние пробелы) в сборке и снова построю, я получаю ошибку, подобную этой:
Ошибка 973 Вызов неоднозначен между следующими методами или свойствами: "MyNameSpace.MyClass.GetBar(Foo)" и "MyNameSpace.MyClass.GetBar(Foo)"
Только после очистки проекта я смогу снова построить. Это проблема в компиляторе, использующая старую версию сборки? Теперь я работаю только над тем, чтобы заменить мои методы расширения обычными статическими методами.