我正在尝试让 Intellisense 为非 ASP.NET 项目中的剃刀视图工作,并想了解 VisualStudio 的 Razor 编辑器和 BuildProviders 之间的关系。
作为背景,我正在 Manos(单 Web 服务器)之上编写一个框架,该框架使用 Razor 作为其视图引擎。我的那部分工作得很好,但是 VS 中的 Intellisense 不起作用,给出了从未知类型到未注册的构建提供程序的一系列错误,具体取决于项目的输出 DLL 的放置位置。
我的项目是一个 .NET 类库,带有 .cshtml 文件(无构建操作)。基本 razor 视图类在单独的程序集(项目外部)中定义,可以在 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 - MVC 应用程序之外的 Razor - 删除 @inherits 和提供 @model 的问题
听起来我需要编写自己的 BuildProvider,但找不到任何解释构建提供程序和 razor intellisense 之间关系的文档。