ServiceStack Razor Intellisense无法在SelfHost中使用

时间:2016-08-12 19:13:49

标签: razor servicestack self-hosting

我引用了ServiceStack.Razor。

以下razor文件效果很好:

@model ServiceStack.Host.Operation

@Model.Name

但IntelliSense(和R#代码分析)显示错误:“无法解析符号'模型'”

引用Microsoft.AspNet.Mvc可使Intellisense正常工作,但不会编译Razor页面。 这是因为ServiceStack.Razor包含System.Web.Razor程序集版本3.0.0和Microsoft.AspNet.Mvc需要3.2.3,其中一个被其他程序覆盖并且发生程序集加载异常。

试图按照这个答案: ServiceStack turn on Razor intellisense support without MVC

并添加Web.config,但这给了我不同的错误: “此处无法访问私有字段'模型'

如何在不破坏应用程序的情况下使Intellisense工作?

1 个答案:

答案 0 :(得分:3)

不幸的是,VS.NET 2015设计器不能正确支持在自主机(即非ASP.NET项目)中编辑Razor页面,因此您无法摆脱所有设计器错误,尽管您可以通过以下方式将问题最小化首先使用Razor配置添加Web.config,这里是您可以使用的Web.config template,您需要将$safeprojectname$替换为项目的命名空间。 Web.config对非Web项目的行为没有影响,它只是用于提供与ASP.NET Web项目耦合的VS.NET intellisense的提示。

而不是@model,你会想要使用更明确的:

@inherits ViewPage<ServiceStack.Host.Operation>

这些都做同样的事情,但设计师对明确的@inherits感到满意。