Visual Studio,Razor,BuildProviders和Intellisense

问题描述:

我试图让Intellisense在非ASP.NET项目中为剃刀视图工作,并想了解VisualStudio的Razor编辑器和BuildProviders之间的关系。Visual Studio,Razor,BuildProviders和Intellisense

为了背景,我正在为使用Razor作为其视图引擎的Manos(单声道网页服务器)编写框架。我已经完成了该部分的工作,但VS中的Intellisense无法提供从未知类型到未注册构建提供程序的一系列错误,具体取决于项目输出DLL的放置位置。

我的项目是一个.NET类库,它带有.cshtml文件(构建动作无)。基本剃须刀视图类是在单独的程序集(项目外)中定义的,可以在GAC中注册,但目前不是。

我已经阅读这些文章:

听起来像是我需要写我自己的BuildProvider,但可以”找到解释关系的任何文件建设提供商和剃须刀intellisense之间。

+0

所以我明白,你试图从另一个MVC项目放弃一个web.config到你的类库项目并没有工作?你采用了哪个web.config:来自根目录的文件,还是来自Views子文件夹的文件? –

剃刀智能感最好目前是片状。但是,如果您使用VS SP1,则稍微好一点。只要扩展名是cshtml(还没有尝试过vbhtml,所以不能肯定地说),web.config解决方法(正如第三个链接所指出的)适用于我的类库。

另外请看这里:http://razorpad.codeplex.com/ 与LinqPad类似,这将允许您提前测试您的剃须刀代码。

Razor编辑器与ASP.Net运行时相当紧密,实际上它实际上在后台运行ASP.Net以便收集必要的运行时信息。

我唯一的建议是获得真正的保真度智能感知是一个超级黑客。而不是一个类库,你可以让你的应用程序成为一个Web应用程序项目。 WAP实际上只是一个VS可以托管网站的类库。如果你清除所有额外的东西(Global.asax,web.config等),你可能会得到你正在寻找的东西。这是一个解决方法,并在这一点上,但给它一个镜头,它可能只是工作:)