在Visual Studio 2010 + IIS Express 7上,我能够将IIS Express用作服务器并浏览网站。
我已经使用IIS Express 8安装了Visual Studio 2012(在Windows 7 64位上),我无法在其上浏览单个站点。此外,当我查看日志文件(\ Logs和\ TraceLogFiles)时,我甚至没有看到任何2012 / IISExpress 8应用程序的单个日志条目,更不用说要查看错误。
查看applicationhost.config,我确实看到了我正在尝试使用正确的路径,apppool和端口运行的网站。
但是当试图运行它时,IIS Express 8启动,我得到一个异常长的停顿,然后我在浏览器中遇到一个无法连接错误。也就是说,在IE9中我得到“Internet Explorer无法显示网页”,在Chrome中“哎呀!Google Chrome无法连接到localhost:60046”
有没有其他人遇到这个?有什么我需要做的事情来完成VS2012的IIS Express 8配置吗?
更新 2013年3月2日
这仍然没有得到解决,但这里有一系列症状和部分解决方案。
IIS Express完全无法正常运行 我最初无法在任何条件下连接到IIS Express。事实证明我有两个问题,一个与DNS有关,另一个似乎与Visual Studio 2012中的错误有关。
问题1:Windows DNS 我已将Windows wifi连接设置为使用Google的DNS服务器,而不是将其保留为自动。这很好用:
它无效:
解决方案是将我的DNS设置恢复为自动(并切换我的路由器以改为使用Google DNS)。
问题2:Visual Studio 2012中的错误Microsoft尚未承认 这让我从命令行可以正常运行IIS Express,唯一剩下的问题是从Visual Studio 2012连接到它。来自VS2012的Cassini和IIS(不是Express)工作正常,包括localhost和失败的相同项目在IIS Express中。
但是,当我尝试针对IIS Express运行时,会出现IIS Express托盘图标,一分钟后Visual Studio似乎冻结,然后托盘图标消失,此问题中显示的相同错误消息显示在Visual中工作室:
Debugging MVC application in VS2012 attempts to start IIS Express twice
一个奇怪的事情是,如果我右键单击该托盘图标并尝试在分钟冻结期间打开浏览器,我会获得Web应用程序 - 它运行一分钟并按预期工作。然后当Visual Studio显然杀死它时它就会死掉。
然而,我无法确认IIS Express是否在w.brian的问题中运行两次。也就是说,这可能与完全相同的Visual Studio 2012错误只是表现出非常不同的症状。
Microsoft错误和付费墙我已向Microsoft报告此问题。他们开始和我一起诊断,但后来告诉我,我需要花250美元才能继续 - 我不准备做些什么来帮助他们修复它们。
有几个错误报告:
我的原始错误报告: http://connect.microsoft.com/VisualStudio/feedback/details/766233/
第二个他们让我开放导航官僚机构: http://connect.microsoft.com/VisualStudio/feedback/details/779161/
w.brian的错误报告: https://connect.microsoft.com/VisualStudio/feedback/details/778864/
但我怀疑这是微软忽略了客户与他们之间的付费墙所犯的错误,阻止他们实际收集足够的细节来识别这里的错误。
由于微软浪费了我足够的时间,我已经转而使用常规的IIS作为解决方法。
这是最新的。对不起大家。
2013年8月更新:遇到此问题的计算机已经死亡(溢出的内容),我的新计算机没有此问题。我已经向微软建议他们在这里与其他人联系。如果您仍然遇到问题,可以在此处发表评论,以便他们知道如何与您联系。请记住,您可以编辑StackOverflow问题,因此您可以随时使用更多诊断信息自行更新此问题。
答案 0 :(得分:4)
我在我的机器上找到了问题。
当我检查我的C:\ Windows \ system32 \ drivers \ etc \ hosts文件时,我没有
127.0.0.1 localhost
在文件中。我记得“暂时”更改它以解决问题。添加回缺少的记录修复了我的问题。
您可以通过ping localhost
测试您的机器认为localhost的IP,并确保127.0.0.1被ping,而不是其他IP。
答案 1 :(得分:1)
您是否检查过您的网站是否发生了http绑定注册? (从命令提示符运行“netsh http show servicestate”命令将显示所有已注册的绑定,并检查您的站点绑定是否存在“localhost:60046”)
如果您的网站绑定不存在,请尝试按以下步骤检查绑定注册失败的原因。
答案 2 :(得分:1)
我在IIS Express 8.0下的localhost上运行我的asp.net MVC4项目时遇到了类似的问题,所以我最终卸载了IIS 8.0并安装了IIS Express 7.5并立即解决了问题:
IIS Express 8.0似乎与VS 2012一起安装,因此如果您有新的安装或可能的Service Pack更新,则可能已升级了以前的IIS Express版本。
答案 3 :(得分:1)
我通过安装WebMatrix(download)解决了我的IIS问题。我运行了WebMatrix,在WebMatrix中打开了一个站点,IIS启动就好了。关闭了WebMatrix并在VS中运行了一个ASP.NET MVC站点并且它运行良好。
答案 4 :(得分:0)
我知道原始海报回答了这个问题,但对于那些通过谷歌访问的人来说,这是解决问题的可能方法:HTTPS stopped working with IIS express
答案 5 :(得分:0)
如果其他人有此问题 - 请确保applicationhost.config中的任何网站绑定都引用有效地址。
当applicationhost.config绑定到特定的IP地址时,我收到此消息,但当时该IP对主机无效(我通过DHCP预留分配了内部网络IP,但我当时正在不同的网络)。