Я испытываю странную ошибку компилятора с методами расширения. У меня есть сборка, которая имеет метод расширения, например
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)'
Только после очистки проекта я смогу построить снова. Это проблема в компиляторе, использующем старую версию сборки? Теперь я вижу только обходной путь - заменить мои методы расширения обычными статическими методами.