程序集 'dllname.Moles, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null' 使用 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 它的版本比引用的程序集更高'System.Web.Mvc,版本 = 3.0.0.0,文化 = 中性,PublicKeyToken = 31bf3856ad364e35'
针对 .NET4.0 框架的 MVC3 解决方案,以及使用 Moles 框架的单元测试项目,在 Visual Studio 2010 中完美运行。这台计算机上没有安装 MVC4。
安装 Visual Studio 2012 后(以及用 .NET4.5 强制替换 .NET4.0 并安装 MVC4),unittest 项目在 VS2010 中不再编译,它抱怨给定的错误。
当我们检查程序集时,我们有效地看到它引用了 MVC4 和 MVC3??
- BoneSoft.CSS,版本=1.0.0.0,文化=中性,PublicKeyToken=null
- itextsharp,版本=5.1.2.0,文化=中性,PublicKeyToken=8354ae6d2174ddca
- Microsoft.ExtendedReflection,版本=0.94.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35
- Microsoft.Moles.Framework,版本=0.94.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35
- mscorlib,版本=2.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
- mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
- NHibernate.Validator,版本=1.3.1.4000,文化=中性,PublicKeyToken=70154e18752585bd
- 系统,版本=2.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
- 系统,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
- System.Core,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
- System.Data,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
- System.Drawing,版本=2.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a
- System.Runtime.Caching,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a
- System.Web,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a
- System.Web.Mvc,版本=3.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35
- System.Web.Mvc,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35
- System.Xml,版本=2.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089
MVC4 从未在整个解决方案中被引用,但 Moles 在某处认为在生成引用 MVC3 的程序集的“moles 程序集”时必须包含它。
我也有没有引用 MVC3 的其他程序集的 moles 程序集,并且在编译时没有问题。
我已经删除了项目中的痣程序集,重建并重新创建了痣程序集:同样的错误。
想法在哪里搜索问题?