ошибка сборки компилятора: неоднозначный вызов для следующих методов или свойств

У меня возникла странная ошибка компилятора с методами расширения. У меня есть сборка, в которой есть метод расширения вроде

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) '

Только после очистки проекта я могу построить снова. Это проблема компилятора, использующего старую версию сборки? Единственное, что я вижу сейчас, - это заменить мои методы расширения обычными статическими методами.

13
задан Gluip 13 July 2011 в 09:37
поделиться