2012-12-05 3 views
0

Я сделал модульное приложение, и каждый модуль представляет собой отдельный проект, они имеют похожий внешний вид для областей 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

Я буду также пост мое хакерское исправление как ответ

ответ

0

Так что я не смог решить корень проблемы, но у меня есть быстрое исправление.

Я убиваю процесс во время моего модуля метода загрузки, если он имеет визуальную студию в названии:

if (System.Diagnostics.Process.GetCurrentProcess().ProcessName.Contains("VisualStudio")) 
    return; 
Смежные вопросы