ServiceStack在没有MVC的情况下启用Razor intellisense支持

我已经将SS.Razor安装到我的测试项目中。 如果我只是更改default.htm – > cshtml,它可以工作,但没有vs intellisense语法支持。 因此剃刀代码是纯文本黑色和白色。

我想知道如何在不打开作为.net MVC项目的项目的情况下打开Razor。 谢谢!

编辑——————————————

这是我的web.config

(注意add extension =“。cshtml”……有…)

    
<!-- For a description of web.config changes for .NET 4.5 see http://go.microsoft.com/fwlink/?LinkId=235367. The following attributes can be set on the tag. --> <!-- The section enables configuration of the security authentication mode used by ASP.NET to identify an incoming user. --> <!-- The section enables configuration of what to do if/when an unhandled error occurs during the execution of a request. Specifically, it enables developers to configure html error pages to be displayed in place of a error stack trace. -->

为了在VS.NET中获得智能,您的ASP.NET Web应用程序需要注册必要的构建提供程序,告诉VS.NET编译器razor视图,要包含的基类以及要添加的命名空间。 您可以在Razor Rockstars示例项目中找到必要的Web.Config 示例 。

注意:当您创建自托管控制台应用程序时,您还需要存储在Web.config中的App.Config的副本(这是VS.NET在设计时查看的内容)。 在开发/设计时间之外不需要或使用Web.config。

安装ServiceStack.Razor NuGet包时,应已自动包含必要的web.config信息。 因此,如果您删除了应用于Web.config的web.config转换 ,则需要将其添加回来。 如果要手动复制web.config.transform文件,则需要使用项目命名空间手动修改$rootnamespace$占位符,例如:更改:

  

  

嗯,看起来在VS 2012上可能存在一个关于智能的突出问题,你需要恢复使用VS2010,直到我们弄清楚VS.NET团队用Razor的构建提供商改变了什么。

除了确保在web.config中定义了正确的 ,如果在VS中打开.cshtml文件时看到以下警告。

ASP.NET运行时错误:无法加载文件或程序集“ServiceStack.Razor”或其依赖项之一。 该系统找不到指定的文件。

您需要将ServiceStack。*。dll和System.Web.Razor.dll复制到/ bin目录中。 这是正确的,而不是/ bin / debug或/ bin / release目录。 即使在自托管项目中,这也将为您提供完整的Intellisense支持(无需创建Web项目)。