向.NET 4.0项目添加最小订购量(MOQ)是不可行的。

10

我希望将MOQ .net库添加到一个.NET 4.0项目中。但是,我收到了一个错误消息,说我应该将该项目转换为小于4.0的版本。但由于其他项目依赖关系,我需要使用.NET 4.0。

我该如何让MOQ在VS2010中与.NET 4.0项目一起工作?


我在一个没有问题的.NET 4.0项目中使用Moq。也许是你正在使用的版本造成的。我使用这个链接:来自Google Code的http://code.google.com/p/moq/downloads/detail?name=Moq.4.0.10827.Final.zip&can=2&q=。 - Gilles
4个回答

16
  • 确保您已安装 NuGet 包管理器 (工具/扩展管理器)。

  • 右键单击“解决方案资源管理器/引用”,选择“管理 NuGet 程序包”。

  • 在搜索框中输入 Moq。

  • 安装并享受。


点击“管理NuGet程序包”后,您可能需要点击“管理”按钮进行安装。(我指的是VS2012) - LCJ
我使用VS 2013,我的解决方案中有几个项目和一个测试项目。当我在NuGet包管理器中选择moq包时,它会显示一个选项窗口,其中包含每个项目的复选框。我需要在每个项目中安装moq包还是只需在测试项目中安装? - ChrisLo
不,你不应该需要这样做。我认为当VS2013是预发布版本时,我遇到了这个问题。在VS2015中使用最新版本的NuGet没有任何问题。 - Phil

2
最新版本的Google Code(http://code.google.com/p/moq/)适用于.Net 4.0项目。建议重新下载dll文件。
以下是下载链接:http://code.google.com/p/moq/downloads/detail?name=Moq.4.0.10827.Final.zip 该位置上的zip文件包含一个.NET 4文件夹。使用NET40文件夹中的Moq.dll,一切都会正常工作。只需在项目上进行正常的添加引用操作即可。
建议检查您正在尝试使用的程序集的版本号和运行时版本。应显示如下内容:
运行时版本:v4.0.20926
版本:4.0.10827.0

1
如@Phil所解释的那样,使用NuGet要容易得多。 - Tim Long
1
由于NuGet仅支持4.5及以上版本,您无法安装@TimLong。 - niz_sh

0

注意你使用的是 .NET 4,而不是 .NET 4 客户端框架作为目标框架。我曾经遇到过同样的问题,这就是导致问题的原因。


0
为了完整起见,值得指出的是,也可以使用Visual Studio命令行包管理器工具:
1)在VS中打开控制台
视图 >> 其他窗口 >> 包管理器控制台
2)安装Moq
在提示符处键入Install-Package Moq 注意:如果您的测试位于单独的项目中,请确保在项目下拉菜单中选择该项目。
这将安装NuGet中可用的最新软件包,应该解决您的兼容性问题。请参阅http://nuget.org/packages/moq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接