2014-11-03 27 views
0

請注意:上面的鏈接(我似乎無法刪除)中的答案都沒有幫助我。正如我在下面解釋的,我已經嘗試過所有這些東西`無法加載指定的元數據資源`突然出現無代碼更改

我有一個網站,使用ASP.NET MVC5/WebAPI2在VS2013中開發,它有幾個相關的項目,如服務層,存儲庫層等。在堆棧底部是一個包含EF模型的類庫。我已經將實際的實體分離到另一個類庫中,以便在不需要模型庫的情況下重用它們。

所有這一切工作正常。該網站正在運行,我也可以調用WebAPI方法。

我剛剛將最新版本上傳到生產服務器,並且所有工作都很好。然後回來VS進行工作,當我嘗試運行了該網站,我得到一個異常

無法加載指定的元數據資源

搜索周圍,似乎治癒這是修改連接字符串指向實際程序集名稱,而不是使用默認值。我有兩個問題,第一個是今天解決方案中的配置文件都沒有被觸及(至少我是這樣的,文件歷史記錄表單源代碼控制證實了這一點),所以沒有理由在突然停止工作之後第二,即使我添加程序集名稱,我也會得到相同的異常。

任何任何想法我可以做什麼?我現在完全塞滿了。無法做任何事情。

編輯:我再次嘗試在連接字符串中指定程序集,現在得到異常Unable to resolve assembly。我在一個反編譯器中檢查了程序集名稱,我確信它是正確的。

再次編輯:我只是拉着我是從源頭控制部署的版本,並給出了同樣的異常,所以我敢肯定,這是沒有任何關係我已經改變(甚至可以說,有什麼文件被VS改變了)。生產服務器上的版本仍然有效,但驅動完全相同版本的源代碼會提供例外。所以,我敢肯定,這個問題的無數其他版本中找不到答案,但是在別的地方。

+0

可能重複的[MetadataException:無法加載指定的元數據資源](http://stackoverflow.com/questions/689355/metadataexception-unable-to-load-the-specified-metadata-resource) – 2014-11-03 12:46:13

+0

謝謝,但正如我已經指出的那樣,我已經檢查了連接字符串,並且在幾天內沒有觸及模型或實體項目。這就是爲什麼我發佈這個問題的原因,因爲沒有任何答案(或數百萬個類似的帖子)幫助。任何其他想法?我只是不知道還有什麼要嘗試。 – 2014-11-03 12:52:07

+0

有人嗎?我仍然沒有在任何地方找到答案。 – 2014-11-04 09:06:15

回答

1

發現這個問題,我在這裏發佈它,希望它能幫助別人,因爲我不認爲這個問題在任何其他帖子中都很清楚。

我有一個分層的解決方案,Web項目引用一個服務層,它引用一個存儲庫層,然後引用模型項目。對EF來說似乎是可行的,無論哪一層實際上導致數據庫被訪問都需要引用模型項目。我的服務層項目是ToList()被調用的地方(因此枚舉查詢並導致數據庫被擊中)沒有對模型項目的引用,所以未能加載程序集。

我不需要改變連接字符串的元數據部分,因爲一旦服務層有了對模型項目的引用,它就能夠自己找到資源。話雖如此,但我從中學到的一件事是,您可以通過明確指定包含資源的程序集來加速創建模型(略),因爲這樣可以節省框架搜索所有加載的程序集以查找他們。我不確定這是否會產生顯着差異,但它不會造成傷害。

我還不能解釋到現在爲止,這個過程是如何進行的,並且突然停下來,因爲我沒有改變任何引用,也沒有做過數據訪問的方式。儘管如此,它現在似乎正在工作,這是重要的。

希望這可以幫助別人。