我最近添加了一個MVC4 Web應用程序到我的解決方案,並給它一個對我的通用類庫的引用。 Common類庫包含模型和上下文(EF Code First)。MVC 4添加控制器錯誤無法檢索我的模型的元數據
當嘗試使用Visual Studio的腳手架功能「添加控制器」的MVC4應用程序,我得到以下錯誤:
Unable to retrieve metadata for 'Common.Models.MyContext'. Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
我發現了很多關於堆棧溢出類似的問題,但沒有他們針對此特定場景解決此特定錯誤消息。
在我的調查中,我發現如果我從公共庫中刪除所有添加的軟件包和第三方DLL,我可以使用「添加控制器」功能而不會出錯。這告訴我,我的包或第三方DLL的一個不是它需要的地方(如錯誤信息所示)。
所以我的問題是:
- 我如何找出哪個DLL導致了問題?有沒有Visual Studio腳手架日誌文件?
- 說我找到了犯規的dll ... dll需要在哪裏生存來修復腳手架錯誤?
Common正在使用的OData版本與Web應用程序使用的版本(5.1.0 vs 5.4.0)之間存在差異。這是由Azure媒體服務nuget包中的一個錯誤引起的。 –
不錯的發現 - 注意:你總是可以使用綁定重定向來強制綁定到更新的版本(假設向後兼容)。 – viperguynaz