Moq и Moq Contrib Версии

Я не могу найти версии moq и moq contrib, которые выровнены. Я, вероятно, просто Google-сбой.

Подробности:

Существует ли версия moq.contrib, которая работает с moq версией 4.0.10827, последняя из http://code.google.com/p/moq-contrib/downloads/list выдает мне ошибку:

CA0058: Ссылочная сборка "Moq, версия =4.0.812.4, культура = нейтральная, PublicKeyToken=69f491c39445e920" не найдена. Эта сборка требуется для анализа и на нее ссылались: ...

Или есть ресурс для загрузки Moq 4.0.812.4, так как http://code.google.com/p/moq/downloads/list имеет только 4.0.10827

Даже установка обоих из nuget не помогла.

Благодарю.

3 ответа

Решение

Похоже, у Moq Contrib появился новый дом: http://moqcontrib.codeplex.com/. Там нет загрузок и не слишком много информации о текущем статусе проекта.

По крайней мере, они знают об этой проблеме несовместимости: http://moqcontrib.codeplex.com/discussions/255319 но, похоже, с апреля прошлого года нет ни исправления, ни новой версии библиотеки.

Вы можете попытаться исправить зависимость и собрать библиотеку из исходного кода.

Или же

Я нашел этот пакет http://nuget.org/packages/Moq.Contrib.Indy

Независимая реализация проекта Moq.Contrib, с современными ссылками на Moq и Autofac

Я не пробовал, но, может быть, стоит попробовать...

Я исправил это следующим образом.

  1. Возьмите источник из

http://code.google.com/p/moq-contrib/downloads/detail?name=Moq.Contrib-0.2-src.zip

  • Затем измените целевой фреймворк на 4.0

  • Добавить moq 4.0 вместо существующего moq

  • Прокомментируйте методы "verify" и "VerifyAll". Там методы были виртуальными в 2.0 moq contrib

  • Переименуйте вызовы методов

  • MockFactory в MockRepository ExpectGet для SetupGet

В проекте есть ссылка на Autofac. Я не пытался изменить эту ссылку на последний автофак.

Вы можете настроить bindingRedirect в app.config:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Moq" publicKeyToken="69f491c39445e920" culture="neutral" />
        <bindingRedirect oldVersion="4.0.0.0-4.2.1312.1622" newVersion="4.2.1312.1622" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

где 4.2.1312.1622 следует заменить на последнюю версию Moq.

Другие вопросы по тегам