我正在〜/ View.cshtml上尝试一个非常简单的内容页面,其中包含
@inherits ViewPage
@{
Layout = "SimpleLayout";
ViewBag.Title = "Title";
}
<div id="content-page">
<p>Test</p>
</div>
>〜/ Views / Shared / SimpleLayout.cshtml是
<!DOCTYPE HTML>
<html>
<head>
<title>Simple Layout</title>
</head>
<body>
<div id="content">
@RenderBody()
</div>
</body>
</html>
在调试模式下,它可以正常工作,但在部署时它会显示
编译错误
描述:编译资源期间发生错误 需要为此请求提供服务。请查看以下具体内容 错误详细信息并适当修改源代码。
编译器错误消息:CS0146:循环基类依赖项 涉及'RazorOutput.ViewPage'和'RazorOutput.ViewPage'
我试图尽可能地遵循RockStars的例子,所以不要知道什么是错的。我的服务视图工作正常。
任何建议都将不胜感激。
更新
当页面名称发生变化时(例如NewPage.cshtml),它也无法在Debug中工作,抛出相同的异常。
答案 0 :(得分:2)
在Web.Config
中,请确保您拥有:
<compilation debug="false">
我得到了同样的错误,并修复了它。
答案 1 :(得分:2)
如上所述设置compilation debug="false"
对我不起作用。
我在IIS Express中本地运行时遇到了同样的错误,并发现如果我将其添加到web.config中它会起作用:
<appSettings>
<add key="webPages:Enabled" value="false" />
</appSettings>
我发现在ServiceStack的RazorRockstar样本中进行设置后,将其逐行与我自己的项目进行比较,看看为什么我的工作不起作用。
答案 2 :(得分:1)
尝试渲染Razor页面时,我收到类似的编译错误。检查您的网站AppHost
是继承自AppHostBase
而不是AppHostHttpListenerBase
。