Aspnet core 2.1.4 IIS启动问题

时间:2018-09-19 14:06:05

标签: c# asp.net iis asp.net-core asp.net-core-2.1

几天前,我在AspNet Core 2.1.2中做了一个简单的POC,没有任何问题。 我可以从IIS Express和本地IIS(通过Visual Studio托管或启动/调试)运行它。

昨天我将项目更新为最新的AspNet Core 2.1.4,现在似乎无法在本地IIS中运行任何AspNet Core应用程序。

我创建了一个新项目(没有https),以确保迁移不是问题。

关于我的环境:

测试用例:

  • 创建了一个新的“ ASP.NET Core Web应用程序”-> API->没有身份验证也没有HTTPS
  • NetCore 2.1版

创建解决方案后,可以直接在IIS Express中运行它。 选择以应用程序名称命名的其他配置文件也可以(正确启动控制台和服务)

然后我想将其托管在本地IIS中:

  1. 添加具有自定义端口(5555)并将物理路径设置为解决方案文件夹(位于bin / obj / program.cs / ...)的新网站
  2. 创建后,浏览网站会引发“配置错误”:正常,没有可用的web.config。
  3. 然后我右键单击VS中的项目,选择“属性”和“调试”
  4. 我这样创建一个新的配置文件: Profile
  5. 我创建一个包含以下内容的web.config文件(并将在更改运行配置文件时进行转换): Web.config
  6. 该项目未“正确设置”(与我以前使用AspNet Core 2.1.2的POC正确)

问题:

  • 如果我尝试通过IIS浏览网站,则会出现错误500
  • 如果我尝试使用“ IIS”配置文件调试解决方案,则会发生如下错误: Startup error
  • 所有HttpFailure * .html文件均为空(0kb)
  • 事件查看器中没有错误
  • 启用后,IIS日志文件中没有错误
  • 将参数stdoutLogEnabled设置为true时,没有日志文件(除非是通过与IIS不同的配置文件启动的,但仍然没有错误)

测试

我试图:

  • 重新启动计算机
  • 以管理员身份启动VS
  • 在适用于“所有人”和所选IIS池用户的文件系统上授予完全权限

IIS Express和“控制台”配置文件仍然有效。

EDIT1::我还卸载了所有内容,并尝试还原到2.1.2,但没有成功(仍然使用最新的VS)

1 个答案:

答案 0 :(得分:1)

我设法找到了缺少的东西:

在“ Windows功能”中,未选中以下元素: “ Internet信息服务”->“万维网服务”->“通用HTTP功能”->“ Http错误”

知道 ,因为已提供详细的错误页面,所以在安装AspNet Core SDK /捆绑软件之前已将其打勾。

无论如何,只要再次启用此选项,我就会大失所思,指出我无法覆盖参数XXX,因为它已被锁定。我必须在服务器功能委托中将其设置为可读写。

然后一切顺利。

我无法想象通过安装SDK /捆绑软件将“ Http错误”恢复为一个未勾选的值,并且没有取消选中自己(还是本地计算机)。

我将其放在IIS shenanigans选项卡上...