簡體   English   中英

在MVC中啟用遷移會引發“找不到文件”錯誤

[英]Enable Migrations in MVC throws File not Found Error

我是使用MVC的新手,在完成有關Visual Studio 2013中的遷移的教程時,我似乎在Package Manager控制台中斷開了與EntityFramework的綁定。

我相信這是在我將EntityFramework更新到版本6.1.3時開始的,但是這似乎與MVC控制器腳手架不兼容。 所以我將其回滾到5.0.0版。

現在輸入命令enable-migrations

我收到以下錯誤:

帶有“ 8”參數的調用“ CreateInstanceFrom”的異常:“無法加載文件或程序集'EntityFramework,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依賴項之一。系統找不到文件指定“。 在D:\\ ss \\ CAP \\ CAP_MVC_Dev_2 \\ CAP_MVC \\ packages \\ EntityFramework.5.0.0 \\ tools \\ EntityFramework.psm1:431 char:31 + $ domain.CreateInstanceFrom <<<<(+ CategoryInfo:未指定:(:) [] ,MethodInvocationException + FullyQualifiedErrorId:DotNetMethodTargetInvocation

文件EntityFramework.psm1存在上述位置,但該文件中似乎有錯誤? $domain.CreateInstanceFrom如何丟失以及從何而來? 卸載和重新安裝EntityFramework程序包沒有區別。

我嘗試過從頭開始創建新項目,並且此錯誤在他們中仍然存在。 卸載/重新安裝Visual Studio 2013既無法解決問題,也無法銷毀連接的數據庫並從空數據庫開始。

因此,事實證明解決方案與此類似

實體框架代碼優先遷移引發錯誤

當我第一次嘗試此解決方案時,有gacutil未被識別的報告。 由於我所處的環境,要添加被普遍認可的gacutil(我相信)並非易事,因此我在文件系統中找到了gacutil.exe,並將其復制到鏈接文章中引用的lib\\net45文件夾中,然后運行命令

gacutil /i EntityFramework.dll

這已經解決了問題,並且我不再收到“找不到文件錯誤”

我沒有使用GAC進行安裝,而是使用以下解決方案(VS2013 SP5 + EF 5):

復制(解決方案目錄)\\ packages \\ EntityFramework.5.0.0 (整個目錄)至

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\EFTools\NuGet Packages\

NuGet Packages目錄不存在,因此需要手動創建。

暫無
暫無

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

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