Работает ли насмешливая библиотека Moq для .NET 3.5 с моно?

Я пытаюсь использовать Moq в проекте Mono/.NET 3.5, используя MonoDevelop для MacOS X.

Я пробовал пример кода С#:

var mock = new Mock<IFoo>();
mock.Setup((foo => foo.DoSomething("ping"))).Returns(true);

С IFoo:

public interface IFoo
{
    bool DoSomething(string a);
}

Но я продолжаю получать следующие ошибки компилятора в строке mock.Setup:

    Error CS1660: Cannot convert `lambda expression' to non-delegate type `System.Linq.Expressions.Expression<System.Action<Test.IFoo>>' (CS1660) (Test)
    Error CS1502: The best overloaded method match for `Moq.Mock<Test.IFoo>.Setup(System.Linq.Expressions.Expression<System.Action<Test.IFoo>>)' has some invalid arguments (CS1502) (Test)
    Error CS1503: Argument `#1' cannot convert `anonymous method' expression to type `System.Linq.Expressions.Expression<System.Action<Test.IFoo>>' (CS1503) (Test)

Я что-то не так делаю или просто Mono еще не готов для Moq?


person Rodrigo Rearden    schedule 13.08.2011    source источник
comment
Вы добавили ссылку на System.Core   -  person Preet Sangha    schedule 13.08.2011
comment
Использование выражений, похоже, отлично работает для меня при использовании компилятора Mono C# версии 2.8.1.0.   -  person svick    schedule 13.08.2011
comment
Добавление System.Core помогло, спасибо, Прит.   -  person Rodrigo Rearden    schedule 13.08.2011
comment
@Preet, вы должны опубликовать свой комментарий в качестве ответа.   -  person svick    schedule 13.08.2011
comment
Это работает для меня в Linux с моно 2.10.6   -  person IanNorton    schedule 05.01.2012


Ответы (1)


Как сказано в комментарии Preet Sangha:

Добавить ссылку на System.Core

person Frederick Roth    schedule 20.02.2014