VS和IIS安装顺序的问题
开发环境:windows Server2016 visval studio 2015
背景
最近在使用visual studio2015编写webapi的时候遇到了一个问题,当点击调试的时候,出现了等待localhost空白页面,并一直在等待。虚拟的由visual studio发布的在状态栏中也正常的启动。在此期间没有进行任何的操作。
询问是否有人对此虚拟机进行操作之后,得到前端在早上安装了IIS。问题可能出现在IIS的安装上面。
解决过程
在*中查找了asp.net waiting for localhost相关的问题得到一个问答具体可以查看这个问答问题中描述的状况与我的完全一致,但是按照相关的操作排除了防火墙 ,更改线程池,查看调试是否用特殊的端口等操作之后并不能解决问题,而相关联网的操作因为是虚拟机并不能进行操作。
接着查询vs和iis安装顺序的是否会导致localhost永远加载,得到vs比iis先安装会导致iis失去与Asp.net的映射,至少网上是这么说的。于是按照网上的方法 运行aspnet_regiis.exe -i 指令进行修复,尝试了32位的86位的指令,以管理员的权限,如果不以管理员的权限则会出现其他的原因。但并不能解决问题。
因为实在没有办法了,于是请教大佬了。在此之前我尝试过过iis的卸载,但在虚拟机上乱操作的时候让虚拟及断开了一直没敢弄,在server manager 的IIS服务中shut down 本地的服务。于是大佬三下五除二的将IIS重新安装了。顺带安装了IIS10.0 express。
但是新的问题又出现了,在调试的时候没有以前浏览器的选项了,只能选则托管服务啥的,并且找不到浏览器调试的选项,在后台打开了浏览器,在调试的程式中选择了浏览器的程式,但是却报错。但是后台的iis却正常的启动了,输入调试的api页面也能正常的工作。
但是当新建webapi程式的时候,出现了Note pkgmgr.exe has been deprecated please update your scripts to use dism的错误,点击确定之后出现了the package manager console requires powershell 2.0 runtime的错误。于是我重新安装了visual studio,问题并没有解决,在点及visual自带的修复功能之后,也同时在server manager安装了powershell 3.5的(艹,虚拟机又断了)和powershell2.0的版本,然后问题解决了,visual studio可以正常的调试webapi程式了。估计是缺少了powershell,因为如果修复可以解决问题的话,再次之前的重装是可以解决问题的,因为这两个操作同时操作的,所以并不能排除修复的可能性。
总结
虚拟机用起来真麻烦,有什么疑难杂症是重装系统不能解决的。