我想在我的MVC3項目中引用共享視圖內的System.Data.Entity.Validation(EF 4.1版本)命名空間。我已經能夠使用引用其他外部庫:在MVC3 Razor視圖中引用EntityFramework 4.1命名空間
@using Example.Namespace
我不能,然而,得到工作的同樣的事情,當談到這是新4.1的EntityFramework的零件庫。我曾嘗試加入以下到瀏覽文件夾中的web.config文件:
<add namespace="System.Data.Entity.Validation, EntityFramework, Version=4.1.10715.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
我覺得我在正確的軌道上,因爲現在的智能感知是吹起來爲用於工作的其他外部名稱空間。有人可以幫我弄清楚web.config條目應該看起來像這樣嗎?
編輯:說清楚,我試圖最終在我的視圖中使用DbEntityValidationException,據我所知,它是EntityFramework 4.1 DLL的一部分。我在這篇文章(http://stackoverflow.com/questions/3239006/how-to-import-a-namespace-in-razor-view-page)下面的信息似乎建議我需要添加命名空間聲明Views中的web.config文件部分(不是PROJECT WEB.CONFIG)。
我仍然通過這個工作,我發現添加程序集到視圖的web.config的system.web /編譯/集會部分也'工作',因爲它要麼打破所有intellisense或給我的一部分我想要的命名空間。例如,我說:
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
,讓我在我看來鍵入System.Data.Entity的,但沒有後,顯示在智能感知。如果我將其更改爲:
<add assembly="System.Data.Entity.Validation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
後,我關閉並重新打開我的項目,智能感知中斷在我看來一切,我看到以下錯誤:ASP.NET運行時錯誤:無法加載文件或程序'System.Data.Entity.Validation,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依賴項之一。該系統找不到指定的文件。
看看..我編輯了我的問題。你是否能夠在你的視圖中使用System.Data.Entity.Validation成員,一旦你添加@using System.Data.Entity? – DMC
我想你有錯誤的命名空間。它實際上是'System.Data.Entity.Validation',它具有'DbEntityValidationException'而不是'System.Data.Entity'。所以,'@using System.Data.Entity.Validation'應該可以做到。一旦我把它放在我的測試頁面中,Intellisense讓我做'拋出新的DbEntityValidationException()'。 – devuxer
順便說一句,如果你使用的是Visual Studio,你可以通過右鍵單擊References文件夾中的程序集並選擇「在對象瀏覽器中查看」,輕鬆找出哪些類在什麼名稱空間中。 – devuxer