簡體   English   中英

程序集'SomeAssembly,使用'System.Web.Mvc,Version = 4.0.0.0,它的版本高於引用的程序集'System.Web.Mvc,Version 3.0.0.0

[英]Assembly 'SomeAssembly, uses 'System.Web.Mvc, Version=4.0.0.0, which has a higher version than referenced assembly 'System.Web.Mvc, Version 3.0.0.0

在VS 2012 RTM中打開並編譯我的VS 2010 .net 4.0 MVC3項目后,我得到以下錯誤。 如何在不升級到MVC4的情況下解決這個問題?

我和VS 2010和VS 2012並排安裝。

錯誤1程序集'SomeAssembly,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'使用'System.Web.Mvc,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35',其版本高於引用程序集'System.Web.Mvc,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'

另一件需要檢查的事情是,您還沒有測試項目仍在引用解決方案中的mvc3程序集。 那是什么讓我。

檢查你的web.config 即使您的項目引用了4.0, system.web/assemblies也有3.0版本。

對我來說就是這樣。

轉到參考,檢查當前版本的System.web.mvc(我猜它仍然指向mvc3)。 刪除它們並再次添加引用,但這次System.Web.Mvc 4.0 ..! 如果您在單個解決方案中使用多個項目,那么..例如,您有兩個項目ProjA(MVC4)和ProjB(仍然在MVC3中),如果ProjA有ProjB的參考或使用ProjB,那么它最有可能給出上述提到的錯誤。 您可能必須在兩個項目中更改MVC版本。

如果您使用的是Visual Studio,則可以檢查NuGet包的更新,這些更新將在不需要使用Web.config進行手動操作的情況下進行更新。 選擇工具 - >庫包管理器 - >管理解決方案的NuGet包。 通過選擇左側面板上的更新,然后在更新列表中查找MVC和單擊更新,檢查您是最新版本的MVC。 更新完成后,單擊構建並構建解決方案。 這就是我解決我在MVC和Fluent Validation NuGet包之間遇到的問題的方法。 它會自動更新Web.config。

使用asp.net 4.5並遇到了類似的問題。 右鍵單擊References並轉到Manage NuGet Packages 檢查包含過期版本的軟件包是否有更新。 可以要求覆蓋文件,但沒關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM