程序集'dllname.Moles,Version = 1.2.0.0,Culture = neutral,PublicKeyToken = null'使用'System.Web.Mvc,Version = 4.0 .0.0文化=中性公鑰= 31bf3856ad364e35' 具有較高版本比引用的程序集 'System.Web.Mvc,版本= 3.0.0.0,文化=中性公鑰= 31bf3856ad364e35'在VS2010中由Moles創建的程序集在安裝VS2012後引用MVC3和MVC4
甲MVC3溶液靶向的.NET4.0框架,使用Moles框架的單元測試項目,在Visual Studio 2010中完美運行。在此計算機上未安裝MVC4。
在安裝Visual Studio 2012(並強制替換.NET4.5和.NET4.5以及安裝MVC4)後,unittest項目不再在VS2010中編譯,它抱怨給定的錯誤。
當我們檢查程序集時,我們有效地看到它引用了MVC4和MVC3?
- BoneSoft.CSS,版本= 1.0.0.0,文化=中性公鑰=空
- iTextSharp的,版本= 5.1.2.0,文化=中性公鑰= 8354ae6d2174ddca
- Microsoft.ExtendedReflection,版本= 0.94.0.0文化=中性公鑰= 31bf3856ad364e35
- Microsoft.Moles.Framework,版本= 0.94.0.0文化=中性公鑰= 31bf3856ad364e35
- mscorlib程序,版本= 2.0.0.0,文化=中性公鑰= b77a5c561934e089
- mscorlib程序,版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089
- NHibernate.Validator,版本= 1.3.1.4000文化=中性公鑰= 70154e18752585bd
- 系統,版本= 2.0.0.0,文化=中性公鑰= b77a5c561934e089
- 系統,版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089
- System.Core程序,版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089
- System.Data,版= 4.0.0.0,Culture =中性,PublicKeyToken = b77a5c561934e089
- Sys tem.Drawing,版本= 2.0.0.0,文化=中性公鑰= b03f5f7f11d50a3a
- System.Runtime.Caching,版本= 4.0.0.0,文化=中性公鑰= b03f5f7f11d50a3a
- System.Web程序,版本= 4.0。 0.0,文化=中性公鑰= b03f5f7f11d50a3a
- System.Web.Mvc,版本= 3.0.0.0,文化=中性公鑰= 31bf3856ad364e35
- System.Web.Mvc,版本= 4.0.0.0,文化=中立,PublicKeyToken = 31bf3856ad364e35
- System.Xml,Version = 2.0.0.0,Culture = neutral,Pub licKeyToken = b77a5c561934e089
MVC4永遠不會在整個解決方案中引用,但痣的地方認爲它一定是誰引用MVC3一個組件產生一個「痣集」時,被包括在內。
我也有其他組件的組件,他們沒有引用MVC3,並且在編譯時沒有問題。
我已經刪除了項目中的痣組件,重建並重新創建了痣組件:同樣的錯誤。
想法在哪裏搜索問題?
MVC3解決方案編譯時沒有問題,只有帶有Moles框架的unittest項目沒有編譯。我在web.config文件和項目文件中驗證了建議的更改:其中一些已經提議。是否適應像MVC4的發行說明中提出的所有設置,但沒有運氣,編譯單元測試項目時出現同樣的錯誤。 – evb
這是痣框架特定的問題。我會嘗試從gac文件中刪除System.Web.Mvc v4,作爲解決方法。 – Anand