.cshtml文件显示为普通html

时间:2013-11-11 23:45:30

标签: asp.net asp.net-mvc asp.net-mvc-4 razor

我在设置Windows Server 2012上托管的网站时遇到问题。该网站只是您在设置新的“ASP.NET网站(Razor v2)”网站时获得的默认网站。然后我简单地使用VS2012中的“发布网站”选项发布它。我还在MIME类型中添加了.cshtml扩展名。服务器正在运行IIS v8和.NET v4。问题是,当我访问网站时,它显示的是:

http://i806.photobucket.com/albums/yy341/SamuelCB/Razor%20Error/Untitled.png enter image description here

我有什么遗失的吗?

1 个答案:

答案 0 :(得分:3)

要检查的项目:

  • 如果正确安装了IIS ASP.Net,那么MIME类型实际上很重要

    • 不要误解这句话,我不是说MIME类型无关紧要,只是如果/正确配置所有这些,IIS / ASP.Net是“开箱即用”没有混淆MIME类型。

    • 手动添加“.cshtml”的问题是IIS将(现在)为其提供服务,但ASP.Net引擎不是(必然“存在”)处理它(例如集成模式)。这就是为什么你看到文件的“未解析”(原始)版本...代码和所有...它是所有IIS(没有配置ASP.net引擎来处理它)。

  • 如果您运行自己的方框,请运行Web Platform Installer - 这样可以让您深入了解已安装的内容与未安装的内容。注意ASP.Net位和版本。您可能需要(re)register ASP.Net

  • 如果您是托管的,只是因为您的主机安装了 .Net Framework 4.x 意味着他们拥有所有的点点滴滴还安装了 ASP.Net 向主人寻求指导而不是做猜谜游戏。我经常必须“加载”我的开发机器“默认”(当然是我的机器)的东西,因为当部署到我的主机时我最终会得到无法运行的东西。你甚至没有得到一个ASP.Net引擎错误,所以这是一个肯定的迹象,ASP.Net需要一些工作。

    • Nuget非常适合这项任务。一些可能需要“bin部署”的项目(例如您必须将它们添加到您的部署/上传到主机上的/bin目录):
      • Microsoft ASP.NET Razor
      • Microsoft ASP.NET网页
      • Microsoft.Web.Infrastructure

无关:这听起来更像是应该去ServerFault而不是这里......我不介意......但是社区可能会有不同的想法......你甚至可能会得到更好的答案....

... H个