5

我找不到对齐的 moq 和 moq contrib 版本。我可能只是有一个谷歌失败。

细节:

是否有适用于 moq 版本 4.0.10827 的 moq.contrib 版本,来自http://code.google.com/p/moq-contrib/downloads/list的最新版本给了我一个错误:

CA0058:找不到引用的程序集 'Moq,Version=4.0.812.4,Culture=neutral,PublicKeyToken=69f491c39445e920'。此程序集是分析所必需的,并由以下人员引用:...

或者是否有资源可以下载 Moq 4.0.812.4,因为http://code.google.com/p/moq/downloads/list只有 4.0.10827

即使从 nuget 安装两者也无济于事。

谢谢。

4

3 回答 3

5

似乎 Moq Contrib 有了一个新家: http: //moqcontrib.codeplex.com/。没有下载,也没有太多关于项目当前状态的信息。

至少他们知道这个不兼容问题:http : //moqcontrib.codeplex.com/discussions/255319 但自去年四月以来似乎没有修复它,也没有新版本的库。

您可以尝试修复自己的依赖关系并从源代码构建库。

或者

我找到了这个 nuget 包Moq.Contrib.Indy

Moq.Contrib 项目的独立实施,具有对 Moq 和 Autofac 的最新参考

我没试过,但也许值得一试......

于 2012-03-20T13:31:51.683 回答
4

我通过以下方式修复它。

  1. 取源自

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

  • 然后把目标框架改成4.0

  • 添加最小起订量 4.0 而不是现有的最小起订量

  • 注释“verify”和“VerifyAll”方法。2.0 moq contrib 中的方法是虚拟的

  • 重命名方法调用

  • MockFactory 到 MockRepository ExpectGet 到 SetupGet

项目中有对 Autofac 的引用。我没有尝试将此引用更改为最新的 autofac。

于 2012-11-07T12:37:00.740 回答
0

您可以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 版本替换。

于 2014-01-27T22:50:43.087 回答