关于.NET 2.1 LaunchSetting.json配置修改CommandName解决本地IIS站点未找到问题的疑问
.NET 2.1 LaunchSetting.json配置修改CommandName解决本地IIS站点未找到问题的疑问
嗨,我来给你把这个问题的原因讲明白!
首先得先搞懂launchSettings.json里的commandName到底是干啥的——它是用来指定项目启动时用哪种宿主环境运行的,不同的值对应完全不同的启动逻辑:
- 当你把
commandName设为IIS时,系统会尝试调用本地IIS服务器来托管你的项目。这时候要求本地IIS已经提前配置好对应的站点,包括正确的物理路径绑定、匹配的.NET版本应用池等,要是这些配置没跟上,就会出现你遇到的“站点未找到”错误。 - 而改成
Project之后,启动逻辑就变了:它会用项目自带的Kestrel服务器来自托管运行,完全不需要依赖本地IIS的站点配置,直接跑项目本身的代码,自然就不会有找不到站点的问题了。
至于你之前两个配置都设为IIS会报错,大概率是因为这两个配置对应的IIS站点没有正确创建或者存在冲突——比如系统不知道该加载哪个IIS站点配置,或者其中一个配置对应的站点在本地IIS里根本没建立,启动时自然就抛错了。
你改成Project后,这个配置项就走了自托管的路子,绕开了本地IIS的配置依赖,所以问题就解决啦。
备注:内容来源于stack exchange,提问作者Trí Đỗ Quang
相关产品推荐
相关产品推荐

