从 IIS Express returns 运行测试网站 404 未找到

Runing a REST web site from IIS Express returns 404 Not found

在 VS2019 中开发 Dotnet Framework 4.8 REST API 并以这种方式启动 IIExpress 是没有问题的。
GET http://localhost:51241/api/user returns 数据正确。

所以我从命令行启动 IIExpress
但是然后 GET http://localhost:8080/api/user returns 一个 404.
为什么?


命令行: & 'C:\Program Files (x86)\IIS Express\iisexpress.exe' /path:C:\DATA\Nav\bin\

GET http://localhost:8080/ returns 403.14(不允许浏览)是正确的。


线索可以是输出:

Copied template config file 'C:\Program Files\IIS Express\AppServer\applicationhost.config' to 'C:\Users\User\AppData\Local\Temp\iisexpress\applicationhost2020130173241776.config'
Updated configuration file 'C:\Users\User\AppData\Local\Temp\iisexpress\applicationhost2020130173241776.config' with given cmd line info.
Starting IIS Express ...
Successfully registered URL "http://localhost:8080/" for site "Development Web Site" application "/"
Registration completed
IIS Express is running.
Enter 'Q' to stop IIS Express

因为我的网站不叫 "Development Web Site",而是叫 "Nav"。
另一个线索是可能会从 'C:\Program Files\IIS Express\AppServer\applicationhost.config' 的副本中调用结果,而 VS2019 似乎使用 'C:\DATA\Nav.vs\Nav\config\applicationhost.config'

IISExpress 复制的 applicationhost.config 文件与 VS2019 使用的不同,失败,运行 从 'C:\Program Files\IIS Express\AppServer\applicationhost.config' 复制,但 VS2019 似乎使用 'C:\DATA\Nav.vs\Nav\config\applicationhost.config'

模拟 VS 启动 IIS Express 的棘手部分是您必须使用正确的 /config 开关调用 IIS Express 命令行,该开关指向 VS 生成的 applicationHost.config 文件(隐藏在 .vs 文件夹,适用于 VS2015 及更高版本)。

Reference