Я сделал модульное приложение, и каждый модуль представляет собой отдельный проект, они имеют похожий внешний вид для областей MVC.Ошибки Intellisense в Visual Studio
Я внедрил обычай WebViewPage
, но даже после удаления указателя с web.config
по умолчанию intellisense по-прежнему не функционирует.
На первой линии с моей точки зрения бритвы:
@model IEnumerable<Module2.Models.TestModel>
я получаю предупреждение:
xxx\Module2\Views\Shared\TestModelTable.cshtml: ASP.NET runtime error: The pre-application start initialization method Run on type WebActivator.ActivationManager threw an exception with the following error message: Exception has been thrown by the target of an invocation.. xxx\Module2\Views\Shared\TestModelTable.cshtml
и ошибка:
The name 'model' does not exist in the current context xxx\Module2\Views\Shared\TestModelTable.cshtml
Тогда каждый раз, когда я пытаюсь ссылаться в модели появляется ошибка:
The type arguments for method 'System.Web.Mvc.Html.DisplayExtensions.DisplayFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' cannot be inferred from the usage. Try specifying the type arguments explicitly. xxx\Module2\Views\Shared\TestModelTable.cshtml 26 14 Module2
Кроме того, если добавить ViewBag.Title
к виду, я получаю эту ошибку:
One or more types required to compile a dynamic expression cannot be found. Are you missing a reference? xxx\Module2\Views\Shared\TestModelTable.cshtml
Я бы предположил, была проблема с веб-конфиги, но они являются стандартными веб-конфиги найдены в Mvc областях (я удалил custom WebPageView
)
Это происходит для каждого представления, которое я пытаюсь создать в каждом модуле, однако основное приложение отлично работает. В результате я попытался скопировать webconfigs из основного приложения в модуль, но у меня все еще было много ошибок.
Update 6/12/12
После фиксации реализации RazorBuildProvider для обработки модули приложения теперь могут успешно оказывать сильно типизированных. Однако intellisense все еще делает эти ошибки. Я подозреваю, что первая ошибка на линии @module...
является виновником и не позволяет редактору загружать требуемую информацию для строго типизированной модели.
Update 6/12/12
Через процесс ликвидации Я выяснял PreApplicationStartMethod этого Ninject является виновником. Когда метод вызывает RegisterServices, вызывается мой модуль-загрузчик и где-то там появляется ошибка. [assembly: WebActivator.PreApplicationStartMethod(typeof(Frontline.App_Start.NinjectWebCommon), "Start")]
Для лучшего решения мне нужно, чтобы выяснить, как отладить эту ошибку правильно, я не мог найти ничего, так что я отправил другой (более общий) вопрос о SO Debugging Visual Studio editor exceptions
Я буду также пост мое хакерское исправление как ответ