2011-03-09 78 views
1

在我測試的MVC web應用程序中,我創建了自定義類,它從數據庫中檢索數據。我在MVC應用程序中創建了另一個名爲Data的文件夾,並且已將該數據類放置在此文件夾中。當我想使用控制器這個類,並導入時:MVC web應用程序無法識別自定義類

using TestMvcApp.Data; 

我得到一個錯誤:

The type or namespace name 'Data' does not exist in the namespace 'TestMvcApp' 
(are you missing an assembly reference?) 

哪裏是什麼問題?爲什麼它找不到我的課程?我已經嘗試了很多東西,比如將該類放在控制器文件夾中,但還沒有幫助。我根據這篇文章創建了我的測試MVC應用程序Using MvcContrib Grid in ASP.NET MVC Project感謝您的提示和答案。

編輯:我的班的名字是「ProductDB」,我已經指定了它的命名空間。我將該類導入到項目中,而不是我創建的DATA文件夾,然後將該類放在那裏,最後我將其名稱空間名稱更改爲TestMvcApp.Data!該課程來自我的另一個項目。

回答

0

還必須與類的命名空間設置爲TestMvcApp.Data

1

如果你的類被稱爲Data和命名空間被稱爲TestMvcApp.Data我懷疑有一個命名衝突。

+0

對不起,我忘記了,我班的名字是「ProductDB」 – sanjuro 2011-03-09 13:48:19

2

您是在將該類放入「數據」文件夾之前還是之後創建類的?如果是之前,它是否仍然屬於TestMvcApp命名空間,或者您是否將其名稱空間更改爲TestMvcApp.Data?如果不是,則需要更改該類所在的命名空間或更改using語句。

+0

嗨,thx回答,我將該類導入到項目中,比我創建DATA文件夾,然後我把那個類放在那裏,最後我改變了它的名字空間名稱到TestMvcApp.Data!該課程來自我的另一個項目。 – sanjuro 2011-03-09 13:52:55

+0

也許嘗試發佈類的一部分代碼以及控制器,以便我們可以看到聲明和使用語句。就像@Cpfohl所說,沒有更多信息就很難給出很多指導。 – Zannjaminderson 2011-03-09 14:06:22

+0

我不知道爲什麼,但是當我手動創建數據文件夾ProductDB類時,一切正常,所以我只複製該類的代碼,並解決問題。但我仍然想知道爲什麼它不認可導入類,很奇怪。 – sanjuro 2011-03-09 14:09:00

2

我不知道爲什麼,但在我的情況下,當我添加自定義類時,Visual Studio 2013沒有將其標記爲編譯。相反,它被標記爲「內容」。

我瞭解它,因爲我編輯了.csproj,而我的類就像「Include」一樣放置。我把它改成了「編譯」,並且它真的奏效了!

您可以在屬性窗口使用「生成操作」類的文件屬性。

+1

同樣適用於我(VS2012,這種情況只發生在以同樣方式創建的許多cs文件中的一個) – Axeman 2014-06-03 15:25:52

相關問題