在IIS 8.5中部署ASP.NET RC1 Web应用程序

3
我正在尝试在安装有IIS 8.5的Windows Server 2012 R2中部署一个ASP.NET 5 WebApp。我这里的源代码是一个新的ASP.NET Web应用程序。如果我在Visual Studio 2015中构建并运行它,那么它就能正常工作。现在,我想使用发布向导将其部署到ISS 8.5,所以我需要执行以下操作:
1. 右键单击项目名称(WebApplication5) 2. 创建自定义文件(我将其命名为localhost) 3. 添加目标位置。C:\inetpub\wwwroot 4. 配置设置
配置: Release 目标 DNX 版本: dnx-clr-win-x64.1.0.0.rc1-update1
5. 然后发布Web应用程序。
之后,在我的C:\inetpub\wwwroot中就会有以下文件夹结构。
C:\inetpub\wwwroot
     - approot
         - packages
         - runtime
         - src
         - ... bunch of files
     - logs
     - wwwroot
         - css
         - images
         - js
         - lib
         - some files including web.config

现在我已经编辑了C:\inetput\wwwroot的权限,包括IIS_IUSRS和IUSR(现在我给他们完全访问权限以排除权限问题)。
最后,我进入ISS管理器到默认网站->右键单击->管理网站->高级设置->物理路径下添加C:\inetpub\wwwroot\wwwroot
我重启了IIS服务器,当我尝试浏览默认站点时,出现了以下信息...
HTTP错误500.19 - 内部服务器错误。请求的页面无法访问,因为页面的相关配置数据无效。详细的错误信息如下:
模块 IIS Web Core 通知 未知
处理程序 尚未确定
错误代码 0x8007000d
配置错误
配置文件 \?\C:\inetpub\wwwroot\wwwroot\web.config
最后...这是web.config文件的内容...
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>
  </system.webServer>
</configuration>

我错过了什么?在之前的ASP.NET版本中,这非常容易,但现在我无法正确配置它。
有什么建议吗? 谢谢!

你在这台机器上安装了ASP.NET 4.6/5吗?http://get.asp.net 这个还没有默认安装。 - Maxime Rouiller
2
你是否也安装了HttpPlatformHandler?这是ASP.NET 5所必需的。 - Maxime Rouiller
1
不过我给你提供了两个链接。http://get.asp.net 和 http://www.iis.net/downloads/microsoft/httpplatformhandler - Maxime Rouiller
它需要安装在服务器上,而不仅仅是在开发应用程序的操作系统上。这两者是否相同,比如说你是在本地部署到IIS吗? - Maxime Rouiller
添加了一个总结故障排除的答案。 - Maxime Rouiller
显示剩余2条评论
1个回答

2

首先,确保已在您的IIS中安装了HTTP平台处理程序(x86 / x64)。

现在,您需要解锁可以在服务器节点下“配置编辑器”下找到的system.webServer/handlers部分。搜索正确的部分并从右侧操作面板将其解锁。

确保应用程序池设置为No Managed Code。DNX作为外部进程运行。 IIS不需要知道它当前正在运行什么。

因为我们正在谈论外部进程...请确保您可以从空命令提示符(即:Visual Studio提供的非开发人员命令提示符)中运行dnx

有关完整教程,请查看官方文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接