如何阻止Visual Studio 2017随机将配置为Local IIS的项目切换到IIS Express运行?
我之前带队升级VS2017时也碰到过这个离谱的随机bug,折腾了好几天才摸清楚门道,给你分享几个团队亲测有效的解决办法:
删除本地用户配置文件
VS会为每个用户生成YourProject.csproj.user文件,这个文件存在本地(不会提交到源码管理),里面的配置经常会覆盖.csproj里的全局设置。让所有团队成员找到项目根目录下的这个文件删掉,然后重新加载项目,大概率能解决随机切换的问题。检查VS全局Web项目设置
打开VS,依次点击「工具」→「选项」→「项目和解决方案」→「Web项目」,看看有没有勾选「使用IIS Express作为默认Web服务器」,如果勾了就取消掉——这个全局设置会强制覆盖单个项目的配置。确保.csproj配置全量生效
有时候你只在某个构建配置(比如Debug)里设了<UseIISExpress>false</UseIISExpress>,但Release配置里还是默认值。打开.csproj文件,检查所有PropertyGroup节点(对应不同配置和平台),确保都加上这两行:<UseIISExpress>false</UseIISExpress> <UseIIS>true</UseIIS>同时记得配置好对应的
<IISUrl>,指向你本地IIS的站点地址。重置VS缓存设置
如果上面的方法都不管用,试试重置VS的全局设置。打开命令提示符,运行:devenv /ResetSettings重置后重新打开项目,再配置一次IIS设置,能清除VS内部乱掉的缓存配置。
验证本地IIS站点配置
有时候VS切换到IIS Express是因为找不到对应的本地IIS站点。让团队成员手动在IIS管理器里确认站点已创建、应用程序池配置正确,然后回到VS项目属性里重新绑定一次IIS站点,确保路径和端口都匹配。
内容的提问来源于stack exchange,提问作者Kcoder

