Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net .cshtml文件显示为普通html_Asp.net_Asp.net Mvc_Asp.net Mvc 4_Razor - Fatal编程技术网

Asp.net .cshtml文件显示为普通html

Asp.net .cshtml文件显示为普通html,asp.net,asp.net-mvc,asp.net-mvc-4,razor,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我在设置Windows Server 2012上托管的网站时遇到问题。该网站只是您在设置新的“ASP.NET网站(Razor v2)”网站时获得的默认网站。然后,我只是在VS2012中使用“发布网站”选项发布了它。我还在MIME类型中添加了.cshtml扩展名。服务器正在运行IIS v8和.NET v4。问题是,当我访问网站时,它是如何显示的: 我有什么遗漏吗?要检查的项目: 如果IIS和ASP.Net安装正确,MIME类型实际上很少起作用 不要误读这条语句,我并不是说MIME类型无关紧

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

我有什么遗漏吗?

要检查的项目:

  • 如果IIS和ASP.Net安装正确,MIME类型实际上很少起作用

    • 不要误读这条语句,我并不是说MIME类型无关紧要,只是如果/当所有这些配置正确时,IIS/ASP.Net是“开箱即用”的,不会弄乱MIME类型

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

  • 如果您运行自己的程序盒,请运行-它会让您了解安装了什么和没有安装什么。请注意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
无关:这听起来更像是应该去而不是在这里,所以…我不介意…但社区可能会有不同的想法…你甚至可能会得到更好的答案


Hth…

您甚至需要添加.cshtml MIME类型吗?您在浏览器中使用了什么URL来查看该页面?@RowanFreeman我一开始没有尝试,但出现了以下错误:HTTP错误404.3-未找到由于扩展配置,您请求的页面无法提供服务。如果页面是脚本,请添加处理程序。如果该文件需要下载,请添加一个MIME映射。听起来web服务器没有正确配置以处理您对它的请求。web服务器是否承载其他应用程序?它是否承载其他ASP.NET和/或MVC应用程序?什么.NET框架?什么IIS版本?试着把你的问题编辑得非常透彻;您所做的工作、所采取的步骤、有关服务器的信息。@RowanFreeman我已将问题编辑为包含IIS版本和.NET framework版本。正如它所说的,它是IIS8和.NETV4。这一切都是从Windows Server 2012的新设置运行的。该网站可以托管其他ASP.NET网站,但不能使用Razor引擎托管MVC4。感谢您的帮助。我安装了Web平台安装程序,安装了“IIS:ASP.NET 4.5”,然后在IIS管理器中将应用程序池更改为.NET v4.5。再次感谢!