Веб-приложение MVC не распознает пользовательский класс - PullRequest
2 голосов
/ 09 марта 2011

В моем тестовом веб-приложении MVC я создал собственный класс, который извлекает данные из базы данных.Я создал еще одну папку в приложении MVC под названием Data, и я поместил этот класс данных в эту папку.Когда я хочу использовать этот класс из контроллера и при импорте с:

using TestMvcApp.Data;

я получаю сообщение об ошибке:

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

Где может быть проблема?Почему он не может найти мой класс?Я пробовал много вещей, таких как размещение этого класса в папке контроллера, но пока ничего не помогло.Я создал свое тестовое приложение MVC в соответствии с этой статьей Использование MvcContrib Grid в ASP.NET MVC Project Спасибо за советы и ответы.

РЕДАКТИРОВАТЬ: Имя моего класса "ProductDB", и у меняуказал пространство имен в нем.Я импортировал этот класс в проект, затем создал папку DATA, затем поместил туда этот класс и, наконец, изменил имя его пространства имен на TestMvcApp.Data!Этот класс из моего другого проекта.

Ответы [ 4 ]

3 голосов
/ 07 января 2014

Не знаю почему, но в моем случае, когда я добавил пользовательский класс, Visual Studio 2013 не пометил его для компиляции.Вместо этого он был помечен как «Содержимое».

Я узнал об этом, потому что я отредактировал .csproj, и мой класс был помещен просто как «Включить».Я изменил его на «Compile» и вуаля, это сработало!

Вы можете использовать свойство файла класса « Build Action » в Окне свойств .

2 голосов
/ 09 марта 2011

Вы создали класс до или после того, как поместили его в папку «Данные»?Если это было раньше, то он все еще принадлежит пространству имен TestMvcApp или вы изменили его пространство имен на TestMvcApp.Data?Если нет, вам нужно либо изменить пространство имен, в котором находится класс, либо изменить оператор using.

1 голос
/ 09 марта 2011

Если ваш класс называется Data и ваше пространство имен называется TestMvcApp.Data Я подозреваю, что существует конфликт имен.

0 голосов
/ 09 марта 2011

Вы также должны установить пространство имен класса в TestMvcApp.Data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...