2012-03-06 31 views
0

我試圖將我的模型移動到ASP.NET MVC 3應用程序中的單獨項目中。一切都很好地工作一個文件的例外,我得到的錯誤 - (?是否缺少using指令或程序集引用)將模型移動到單獨項目中

類型或命名空間名稱「比較」找不到 類型或命名空間名稱「CompareAttribute」找不到(是否缺少using指令或程序集引用?)

在新項目中的引用是完全一樣的,在原來的MVC項目的引用,但這個時文件被移動到新的項目,它給出了上述錯誤。

任何想法我失蹤?

+1

我認爲這是在'System.Web.Mvc'(裝配/ DLL),雖然它種好像它在'System.ComponentModel.DataAnnotations'。事情是,你可能不希望在你的模型類中引用'System.Web.Mvc'(不是說你應該也不應該,只是你可能不願意)。 – 2012-03-06 16:58:15

+1

爲什麼哦,你爲什麼需要將你的模型移動到一個單獨的項目?你這樣做會得到什麼? – Oded 2012-03-06 16:59:49

+1

我曾在有Web項目和MobileWeb項目的情況下看過它。這兩個項目都爲業務邏輯等創建了相同的DLL。 – 2012-03-06 17:11:59

回答

1

CompareAttribute這個類是System.Web.Mvc命名空間的一部分。請確保您有一個組件,在項目中引用(解決方案資源管理 - >參考),並確保您有:

using System.Web.Mvc; 

在源文件的頂部。

MSDN Reference on the CompareAttribute Class

命名空間:System.Web.Mvc
大會:System.Web.Mvc(在System.Web.Mvc.dll程序)

+0

這是奇怪的事情。我將程序集作爲我的模型項目和常規MVC項目中的參考。我在源文件中也有using語句。當我在MVC項目的m,odels文件夾中有文件時,它會工作,但是當我將它移動到模型項目時,它會出錯。 – 2012-03-07 09:15:47

+0

我現在正在工作。我刪除了模型項目中對System.Web.Mvc的引用,然後再次讀取它。 – 2012-03-07 09:40:06

0

當添加到參考組件/名稱空間,可以擴展或調整「添加引用」窗口的大小以查看所有附加列信息,例如版本,運行時和路徑。針對上述情況,您可能在MVC 3之前引用了System.Web.Mvc,其中沒有引入CompareAttribute。

嘗試對組件名稱列進行排序,並檢查具有不同版本,運行時和路徑值的重複條目。如果您安裝了多個.NET Framework,則情況可能如此。確保你選擇了支持你需要的正確版本。在這種情況下,選擇System.Web.Mvc 3.0.0.0或更高版本將包含您之前的CompareAttribute。

親切的問候

相關問題