首页 > 解决方案 > Aspnet core 2.1.4 IIS 启动问题

问题描述

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

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

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

关于我的环境:

测试用例 :

创建解决方案后,直接在 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 Express 和“控制台”配置文件仍然有效。

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

标签: c#asp.netiisasp.net-coreasp.net-core-2.1

解决方案


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

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

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

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

然后一切顺利。

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

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


推荐阅读