我正在尝试在安装了IIS 8.5的Windows Server 2012 R2中部署ASP.NET 5 WebApp。
我这里的源代码是一个新的ASP.NET Web应用程序。如果我构建它并在Visual Studio 2015中运行它,那么工作正常。
现在......我想使用发布向导将其部署到ISS 8.5中,所以我所做的就是......
之后,我的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核心
通知未知
处理程序尚未确定
错误代码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曾经非常容易,但我现在无法正确配置。
任何指针? 谢谢!
答案 0 :(得分:2)
一旦你拥有了......
首先,确保在IIS中安装了HTTP平台处理程序(x86 / x64)。
现在,您需要解锁system.webServer/handlers
部分,该部分可以在Configuration Editor
下的服务器节点上的IIS管理器中找到。搜索正确的部分并从右侧操作窗格中解锁。
确保应用程序池设置为No Managed Code
。 DNX作为外部进程运行。 IIS不需要知道它当前正在运行什么。
当我们谈论外部进程时......请确保您可以从空的命令提示符运行dnx
(如:Visual Studio提供的不是开发人员命令提示符)。
有关完整教程,请结帐the official documentation。