2010-05-05 115 views
4

我们将从Dev Studio 2005升级到Dev Studio 2010.我在Visual Studio 2010中打开了我的2005解决方案,并通过转换过程保留所有项目针对.NET 2.0。当我尝试构建该项目时,我对Rhino.Mocks.dll的引用未能使用。我看到象这样的错误:无法将Rhino Mocks 3.5添加到Visual Studio 2010中的.NET 2.0项目中

DalDiscoveryTest.cs(7,7):错误CS0246:(?是否缺少using指令或程序集引用)类型或命名空间名称“犀牛”找不到

我进入我的项目,并删除了对Rhino.Mocks.dll的引用,并试图重新添加它。然后我得到一个对话框,内容如下:

'Rhino.Mocks.dll'或其某个依赖关系需要比项目中指定的更高版本的.NET Framework。您可以通过单击“项目”菜单上的“属性”来更改.NET Framework目标,然后在“.NET Framework”下拉框中选择一个新目标。 ...

我使用的是“Rhino Mocks 3.5 for .NET 2.0”,可在http://www.ayende.com/projects/rhino-mocks/downloads.aspx处获得。这个项目在使用.NET 2.0的Dev Studio 2005中生成良好。唯一的问题是我发现的问题是将测试项目的目标更改为.NET 3.5,但我希望最初将更改最小化。

除了将目标更改为更新版本的.NET之外,是否有解决此问题的方法?

+0

有关于这个问题,这仍然是尚未解决的至少两个开放的bug报告: http://goo.gl/a5VE http://goo.gl/K3oA – 2010-05-06 17:40:24

+0

感谢吉姆。我在微软的网站上创建了一个新的问题,因为他们似乎无法重现其他问题。 https://connect.microsoft.com/VisualStudio/feedback/details/558676/unable-to-add-rhino-mocks-3-5-to-a-net-2-0-project-in-visual-studio -2010 – Eli 2010-05-12 17:25:59

+0

似乎Visual Studio 2010正在以先前版本没有的方式确定程序集依赖关系。可悲的是,三种不同的产品 - 微软报告,SubSonic和RhinoMocks - 现在都出现这个bug。该列表只能增长。它迟早必须得到解决。 – 2010-05-13 18:33:45

回答

13

我直接联系了MSDN支持以尝试获取此问题的修补程序。他们能够在Visual Studio 2008和2010中重现此问题。没有修复程序,但通过修改项目设置可以执行相对简单的修复程序。

  1. 将对第三方DLL(Rhino.Mocks.dll)的引用添加到项目中,并通过单击“是”忽略该警告。
  2. 单击项目参考并在属性窗口中修改Rhino.Mocks的“特定版本”为“True”。
  3. 右键单击Visual Studio 2010解决方案资源管理器中的项目节点,然后选择“卸载项目”。
  4. 右键单击项目节点并选择“编辑您的项目名称”。
  5. <Reference Include="Rhino.Mocks, ...">开头的行之后,添加以下行:<SpecificVersion>True</SpecificVersion>
  6. 通过右键单击项目节点并选择“重新加载”来重新加载项目。
  7. 重建您的项目。

这对我有效。

+0

我有一个非常类似的问题,这解决了它对我来说。非常感谢。 – James 2010-07-19 08:34:57

+0

大帮忙;类似的问题。谢谢!!! – David 2011-06-24 21:45:40

+0

我遇到了同样的问题。我只想补充一点,我已经不得不删除并再次将参考添加到解决方案,然后按照您的步骤。其他方面,它没有奏效。 – 2012-10-02 17:13:47

0

我刚刚遇到了这个问题。经过一番搜索,我发现this post from Chris May(谢谢克里斯!)

我想有一个名为“期待”的静态方法和扩展方法之间有冲突。

根据文章,我完全符合预期方法,并修复了问题#1。然后更改<SpecificVersion />问题,修复了我遇到的其他构建问题。

相关问题