0

Я выделил свои модели из моего основного приложения ASP.net MVC3 в библиотеку классов, которая отличается от того же решения, что и мой проект, и ссылается на мой проект.Отсутствуют ссылки, которые не существуют в MVC3

Как когда-либо модель в этой библиотеке классов (я скопировала модели папки в библиотеку классов) говорят такие вещи, как system.web.MVC или .Security или даже System.Component.DataAnnotations не существует.

Поэтому я предположил, что могу щелкнуть правой кнопкой мыши по ссылкам и нажать «Добавить ссылку» и найти эти библиотеки .net, но, увы, их не существует.

Итак, как мне включить их? Поэтому я могу использовать аннотации данных, безопасность и (по-видимому) MVC?

+0

Вы должны включить DLL, которые содержат эти ссылки в вашем проекте. Если они являются системными DLL, вы должны работать в правильных версиях ОС и .NET Framework. –

+0

Это не имеет никакого смысла, я просто заявил, что нажатие «добавить refrences» в моем проекте библиотеки классов и поиск отсутствующих DLL не работает, поскольку они не существуют в секции .net или COM. Они автоматически добавляются в проект ASP.net, но не в мою библиотеку классов. Также я использую VS2010 для Windows 7 с ASP.net MVC3 – TheWebs

ответ

0

Похоже, что у вас нет установленной инфраструктуры ASP.NET MVC. Если вы их установили, они должны появиться в вашем GAC (Global Assembly Cache), который ваш «справочный исследователь» вытаскивает из своих DLL. Вы можете получить доступ к gac через C: \ Windows \ Assembly.

+0

У меня он установлен, я использую его из VS2010, и я использовал веб-сайт, установленный из веб-матрицы, для установки ASP.net MVC. Я не знаю, что я могу создать и запустить проект MVC с установленным. – TheWebs

+0

У меня есть ASP.net MVC3, установленный в соответствии с веб-установщиком, но не вижу DLL как Web.security или web.MVC – TheWebs

+0

Когда вы устанавливаете ASP.NET MVC3, эти сборки должны были быть загружены в GAC (C: \ Windows \ Монтаж). Пожалуйста, проверьте, что они там. Если они не находятся в GAC, это означает, что во время установки что-то пошло не так, и вы должны попробовать удалить и переустановить MVC. – RiceRiceBaby

0

Я работаю над проектом MVC3 и мы создали архитектуру проекта, чтобы сохранить наши классы что-то вроде этого:

  1. Типовые классы на своем месте по умолчанию в проекте MVC.
  2. Мы добавили новый объект проекта, который содержит свойство, соответствующее именам полей базы данных (столбца).
  3. Отдельный проект для (доступ к данным позже) DAL и (Business Access Layer) BAL.

Теперь, как все работает:

Модель классы содержат свойство, отображающее свойство в проекте Entity, а также некоторые дополнительные свойства, которые нам нужны в процесс нашего развития в качестве вспомогательных свойств, например, SubmissionType, чтобы проверить, какой тип представления мы сделали с тем же методом post, что и Save, Update или Delete.

Проект Entity будет содержать только свойства, которые сопоставляют имена столбцов в базе данных, а BAL взаимодействует с классами проекта Entity, чтобы получить или присвоить значения, необходимые для работы базы данных.

И классы в проекте Entity получат или присваивают значения/классам Model. Это все потому, что наш основной проект может иметь ссылку на проекты Entity и BAL, но не наоборот.

Хорошо, теперь вопрос в том, как эти сопоставления будут выполнены? Я имею в виду назначение значений из классов Model to Entity и наоборот. Для этого нам нужно добавить dll в наш проект «Omu.ValueInjecter». которую вы можете скачать с here. Просто нужно, чтобы добавить его в нашем приложении, и он будет заботиться о картографировании вещей в только одну строке, как это:

 EmployeeEntities entity = new EmployeeEntities(); 
     entity.InjectFrom(model); 

Здесь я задаю значение от модели к лицу, которое я получил от метода поста. Теперь этот объект объекта будет передан в BAL и от BAL до DAL. Внедряя это решение, вам даже не нужно перемещать вашу модель извне вашего проекта, что является болезненным усилием, я думаю.

Надеюсь, что это решение поможет вам

Смежные вопросы