Aspnet核心2.1.4 IIS启动问题

NWA*_*ris 5 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核心Web应用程序" - > API - >无身份验证和无HTTPS
  • NetCore版本2.1

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

然后我想在我的本地IIS中托管它:

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

问题:

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

测试

我试过了 :

  • 重启我的电脑
  • 以管理员身份启动VS.
  • 授予适用于"Everyone"和所选IIS池用户的文件系统的完全权限

IIS Express和"控制台"配置文件仍然有效.

编辑1:我也卸载了所有内容并尝试恢复到2.1.2但没有成功(仍然使用最新的VS)

NWA*_*ris 1

我设法找到了丢失的东西:

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

知道在安装 AspNet Core SDK/bundle 之前已勾选它,因为提供了详细的错误页面。

无论如何,一旦再次启用此选项,我就会收到一条错误消息,指出我无法覆盖参数 XXX,因为它已锁定。我必须在服务器功能委托中将其设置为读/写。

然后一切顺利。

我无法想象“Http Errors”通过安装 SDK/bundle 恢复为取消勾选值,并且自己没有取消勾选(同样,本地计算机)。

我会把它放在 IIS 恶作剧选项卡上......