究竟需要为IIS 6提供什么来提供cshtml页面?

时间:2011-05-05 15:11:23

标签: iis-6 razor

我已经将我的网站升级到.Net4但是在请求.cshtml文件时(即使它是没有剃刀的纯HTML)我收到连接拒绝错误。有什么遗漏?

更新:更改了一些内容,现在我收到“此类页面未提供”错误。我认为.Net4就是必需的。

5 个答案:

答案 0 :(得分:8)

原来这只是在bin目录中有正确的文件和web配置中的条目。这是文件列表:

  • Microsoft.Web.Infrastructure.dll
  • NuGet.Core.dll
  • System.Web.Helpers.dll
  • System.Web.Razor.dll
  • System.Web.WebPages.Administration.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll
  • System.Web.WebPages.Razor.dll

这就是我在web.config中所需要的:

<compilation>
  <assemblies>
    <add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
  <buildProviders>
    <add extension=".cshtml" type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor"/>
  </buildProviders>
</compilation>

答案 1 :(得分:3)

除了.NET 4.0之外,还需要为剃刀提供正确的.dll。如果安装了Visual Studio 2010 SP1,则可以右键单击Web项目并选择Add Deployable Dependencies。这将在您发布站点时将所需的.dll复制到您的bin文件夹。如果尚未安装SP1,则需要手动配置要发布的.dll。 This帖子很好地写了hw来做它。

答案 2 :(得分:2)

查看this post

  1. 打开IIS管理器
  2. 右键点击您的网站 - &gt;管理网站 - &gt;高级设置
  3. 记下正在使用的应用程序池并取消“Advnaced settings”对话框
  4. 现在在左侧导航栏中选择“应用程序池”,然后双击步骤3中记下的应用程序池并将.net framework版本更改为4.0

答案 3 :(得分:2)

对我来说,获取 IIS 8 来提供.cshtml页面只是选择要在Windows 8上安装的正确Windows功能。

从控制面板中搜索“功能”。然后单击“打开或关闭Windows功能”。当然,您必须“检查(安装)Internet信息服务。我认为您还需要考虑检查:

  • Internet信息服务/应用程序开发功能/ .NET可扩展性4.5
  • Internet信息服务/应用程序开发功能/ ASP.NET 4.5
  • Internet信息服务/应用程序开发功能/ ISAPI扩展
  • Internet信息服务/应用程序开发功能/ ISAPI过滤器
  • Internet信息服务/应用程序开发功能/服务器端包含

我可能包含了一项额外的功能。我知道我遗漏了一些很好的东西,比如记录和跟踪来帮助调试。

如果IIS仍然没有提供Razor语法页面(.cshtml),那么请查找更多要安装的IIS功能,因为我认为所有我必须做的就是选择正确的IIS功能。

我犯的另一个错误是设置了网站的绑定,我想我应该在主机框中输入一个名字。但这使得IIS可以在互联网上访问该网站,如果它可以找到它的话。因此,对于简单的设置,请将主机留空。网站名称在其他地方处理。其他地方是域名注册商的域名服务器(DNS)。

因此,除了考虑其他答案之外,这个答案可能会有所帮助。

答案 4 :(得分:1)

应该通过应用Danny所述的正确应用程序池来修复,确保您没有在新的.Net 4.0应用程序池上运行任何.Net 2/3/3.5站点,否则您将收到错误消息。我建议创建一个新的.Net 4.0应用程序池,然后将新站点设置为此。

哦,让IIS6运行.net 4你需要遵循这个guide

IIS也可能不知道文件类型。在这种情况下,您需要将其添加到映射中(这也允许您进行自定义扩展)。

选择您的网站&gt;主页目录&gt;配置(按钮)&gt;然后插入一个新的映射。将.cshtm映射到c:\ windows \ microsoft.net \ framework \ v4.0.30319 \ aspnet_isapi.dll限制为GET,HEAD,POST,DEBUG

如果您需要添加映射,主要是.net 4的安装无法正常工作,您需要添加所有映射。