【问题标题】:IIS Missing MIME cshtmlIIS 缺少 MIME cshtml
【发布时间】:2014-05-08 13:53:32
【问题描述】:

当我在本地运行我的应用程序(安装了 VS2013)时,一切正常,但是当我将文件部署到仅安装基本 IIS 的另一台服务器时,我发现缺少 CSHTML。

错误详情:

 HTTP Error 404.3 - Not Found
 The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

 Module
 StaticFileModule 

 Notification
 ExecuteRequestHandler 

 Handler
 StaticFile 

 Error Code
 0x80070032 

 Requested URL
 http://localhost:80/myapp/Default.cshtml 

 Physical Path
 C:\inetpub\wwwroot\myapp\Default.cshtml 

 Logon Method
 Anonymous 

 Logon User
 Anonymous 

...如果我添加 MIME 类型,它实际上只会呈现我的剃刀视图的一些文本。

我觉得我在部署的 nuget 包中缺少一些根依赖项,这些包由 vs 开箱即用安装。

我的项目参考如下:http://www.screencast.com/t/BKoB4MSWXhttp://www.screencast.com/t/NOOMxD3sYn ...有人知道我缺少什么吗?

更新: 没有安装 MVC 组件,我没有使用任何 MVC,只是这一页是 cshtml。我目前也没有安装任何剃须刀依赖项。我的应用程序针对 .net 4.5.1 。我正在使用 IIS 7.5。应用程序池在 Windows Server 2008 R2 上集成 4.0

【问题讨论】:

  • 很有可能 IIS 没有正确设置以运行 MVC 应用程序。哪个版本的 IIS?您使用的是哪个版本的 MVC?与您的应用程序绑定的应用程序池使用的是哪个版本的 .NET?您的项目针对的是哪个版本的 .NET 框架?
  • @Cory 更新了 cmets 以包含您的问题
  • 您使用的是 IIS6.1 那么您使用的是哪个操作系统? @amcdnl
  • @Rezoan Windows Server 2008 R2
  • 你确定它有 IIS 6.1 吗? @amcdnl

标签: c# asp.net-mvc iis razor


【解决方案1】:

您的问题可能是您的 GAC 中有 Razor 依赖项,但是当您部署它们时,它们在远程服务器上并不存在。

安装网页包:Install-Package Microsoft.AspNet.WebPages

你可能会错过更多的东西,但这是最小的起点

【讨论】:

  • 这样做后我仍然收到相同的错误消息... :(
  • 你把包部署到服务器了吗?检查服务器上的 bin 文件夹,它包含什么? (你在服务器上运行的是什么版本的 .NET,我注意到客户端上是 4.5.1 但你能验证服务器版本吗?)最后你使用的 URL 是什么?
  • myapp 是一个应用程序还是只是远程 IIS 上的一个文件夹?
  • 我注意到 cshtml 在 httphandlers 中被设置为 System.Web.HttpForbiddenHandler
  • 我没有部署这个包。 Web 平台说安装了 4.5.1。
【解决方案2】:

IIS returns 404 for ASP.NET MVC3 file (.cshtml)

启用runAllManagedModulesForAllRequests

<modules runAllManagedModulesForAllRequests="true" />

这是你要找的吗?

【讨论】:

  • 嗯.. 抱歉 - 不知道还有什么。祝你好运!
【解决方案3】:

检查是否在 IIS 管理器中映射了“CSHTML”。在 IIS 管理器中,从“连接”左窗格中选择要添加 MIME 的站点, 在主页窗格中,双击 MIME 类型。 在 MIME 类型窗格中,单击操作窗格中的添加...。 mimeMap fileExtension=".cshtml" mimeType="application/x-cshtml" 或者,您可以使用 conf 文件 applicationHost.conf C:\Windows\System32\inetsrv\Config: • 从命令运行:aspnet_regiis –iru • C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -iru

【讨论】:

    猜你喜欢
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 2020-06-14
    • 2016-12-23
    • 1970-01-01
    • 2010-09-18
    相关资源
    最近更新 更多