Я пытаюсь заставить Intellisense работать на представления бритвы в проекте nonASP.NET и хотел бы понять взаимосвязь между редактором VisualStudio Razor и BuildProviders.
Для фона я пишу фреймворк поверх Manos (моно-веб-сервера), который использует Razor для своего механизма просмотра. У меня эта часть работает отлично, но Intellisense в VS не работает, давая ряд ошибок от неизвестных типов до незарегистрированных поставщиков сборки, в зависимости от того, где размещается выходная DLL проекта.
Мой проект представляет собой библиотеку классов .NET с файлами .cshtml(действие сборки none). Класс базовой бритвы определяется в отдельной сборке (вне проекта), которая может быть зарегистрирована в GAC, но в настоящее время это не так.
Я уже читал эти статьи:
- http://www.west-wind.com/weblog/posts/2011/Jan/12/IntelliSense-for-Razor-Hosting-in-nonWeb-Applications
- Нужна автозавершение механизма просмотра бритвы для работы в библиотеке классов?
- http://blogs.msdn.com/b/webdevtools/archive/2011/01/20/how-to-get-razor-intellisense-for-model-in-a-class-library-project.aspx
- .NET - Razor вне приложения MVC - Проблемы с удалением @inherits и предоставлением @model
Похоже, мне нужно написать собственный BuildProvider, но не могу найти никакой документации, объясняющей взаимосвязь между поставщиком сборки и бритвой intellisense.