VS2013无法启动 IIS Express Web解决方法

所属分类: 软件教程 / 编程开发 阅读数: 1914
收藏 0 赞 0 分享

开发环境:windows8.1+VS2013

使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器。前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错。

一下子有点蒙,why?

国外网友给出的解决方案

If you are working on ASP.NET MVC web sites in Visual Studio 2013 (VS2013), you need to make one registry change if you want to run IIS Express as a 64-bit process by default. Use one of the methods, below.

Command-Line:

reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\WebProjects /v Use64BitIISExpress /t REG_DWORD /d 1

Regedit:

Navigate to:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\WebProjects
Make sure there is a REG_DWORD value named “Use64BitIISExpress”. If not, create it.
Set its value from 1 (default = 0).
我通过上面的方法成功解决了

 修改项目属性的Web项,如下。

F5运行,仍然出错。

 

这时候我知道了是Web调试器没有启动,但是却不明白为什么。于是检查IIS8.5的安装情况,把一些可能需要安装的都给装了。

 

F5运行,问题依旧。

 

问题焦点已经很清楚了,就是IIS Express未能启动。于是想到查看事件,看有没有记录更具体的日志。

 

相关的事件有三条,前两条相同,分别如下。

 

 

怎么和iisnode有关系,我们知道,iisnode是集成在IIS中用于托管node.js应用程序来取代自托管node.exe进程的一个模块。

“C:\Program Files (x86)\iisnode-dev\release\x86\iisnode.dll”根本就不存在,这下更加晕了。为什么IIS Express会启动失败还是不清楚。

我决定要彻底搞清楚IIS Express到底是什么东西。

 

===============================华丽分割线==============================

 

当前程序员只能通过下面两种Web服务器之一来开发和测试ASP.NET网站程序:

1. Visual Studio自带的ASP.NET开发服务器(webdev.exe)。

2. Windows自带的IIS Web服务器。

 

上面两个方案各有优缺点,而且很多ASP.NET程序员告诉我们:“我希望有一个像ASP.NET开发服务器那样容易使用,但是功能又跟IIS一样强大的服务器”。今天我很高兴地宣布,我们将提供另一个新的、免费的、综合了前两个方案的优点的选择—IIS Express,它的出现使得开发和运行ASP.NET网站程序变得更为容易。

 

IIS Express支持VS 2010和Visual Web Develop 2010 Express,可以运行在Windows XP和更高的版本上,它不需要管理员权限即可运行,也不要求代码做任何的改动。你可以用它开发所有类型的ASP.NET程序,而且它还支持完整的IIS 7.x功能集。

 

现有方案

在详细介绍IIS Express之前,我们先来看看ASP.NET开发服务器和IIS的工作方式。

ASP.NET开发服务器

Visual Studio自带的ASP.NET开发服务器(开发代号“Cassini”)的优势在于简练和便于快速启动。它不需要监听远程连接请求(因此在大部分企业的安全网络环境中都可以使用它),你甚至都不需要使用管理员账号就能启动它,而且它也不要求额外的安装步骤。

正是因为具备启动方便这一巨大优势,才使得它成为ASP.NET项目的默认服务器,当你在Visual Studio中按下F5时就会启动它。

但ASP.NET开发服务器的缺点是它不提供完整的Web服务器功能。比如说,它不支持SSL,URL重写规则,自定义安全设置,和其它在IIS 7中支持的功能。

IIS Web服务器

用Visual Studio运行和测试程序还有第二个选择— IIS。你可以通过右键单击Visual studio中的Web项目,打开它的属性(在属性窗口中单击“Web”标签)来配置Web工程使用IIS。

使用IIS作为你的开发服务器允许你测试完整的Web服务器具备的功能(SSL,URL重写规则等)。IIS是一个货真价实的Web服务器—这意味着和在作业服务器上部署差不多开发环境。

但是采用IIS的缺点是,有些公司并不允许在开发机上安装完整的Web服务器。IIS还要求使用管理员帐号来安装和调试网站。不同版本的Windows又支持不同版本的IIS。例如,在Windows XP上,你只能使用自带的IIS 5.1—所有IIS 7.x的新功能它都不支持。另外,在VS里配置网站项目使用IIS,还得一些额外的安装和配置步骤。

IIS Express — “鱼”和“熊掌”兼得

IIS Express综合了ASP.NET开发服务器易用性的优势和IIS强大的功能。确切地说:

它简练并且易于安装(文件大小不到10兆而且安装速度相当快)。在Visual Studio中不需要管理员权限即可启动和调试程序。提供了完整的Web服务器功能——包括SSL, URL重写,多媒体支持和所有其他的IIS 7.x模块。它的可扩展模型和web.config配置结构和IIS 7.x是一样的。它可以和IIS Web服务器还有ASP.NET开发服务器同时运行在同一台机器上(他们不会相互冲突)。它支持Windows XP及更高版本的操作系统—在所有操作系统平台上提供了完整的IIS 7.x功能集。

IIS Express(跟ASP.NET开发服务器一样)可以快速地从硬盘上的某个文件夹上启动网站程序。它不需要任何注册或配置步骤。在网站开发过程中,这个特性使启动和运行网站显得相当便捷。

与VS的整合

Visual Studio 2010的SP1引入了IIS Express支持。你将可以配置VS 2010使用它取代ASP.NET开发服务器作为ASP.NET项目默认的Web服务器。跟现在的ASP.NET开发服务器一样,你不需要在IIS Express里注册站点或者虚拟目录。它支持和ASP.NET开发服务器相同的使用方法——只是添加了更多的功能而已。

当你按下F5来运行ASP.NET项目时,Visual Studio自动启动IIS Express并且使用它来运行和调试网站程序(不需要额外的配置)。跟ASP.NET开发服务器一样,IIS Express运行时,会在任务栏的通知区域显示一个小图标:

右键单击上面的图标并选择“退出”就可以快速关闭IIS Express。你也可以通过右键单击来列出正在运行的站点列表,还有站点的文件夹路径以及使用的.NET版本:

[备注:上图IIS Express为英文版]

请注意上图中两个很酷的地方:

1. 正在运行的站点“Test Site”,还有IIS Express本身,保存在硬盘的c:\users\[用户名]文件夹中。这就允许非管理员用户使用IIS Express和网站,而且还支持一些现在的IIS服务器没有办法实现的场景(例如可以在受限的企业网络环境或受限的学校公共电脑上运行IIS Express)。

2. 上面正在运行的站点“Test Site”同时支持HTTP和HTTPS的访问方式。IIS Express通过自动安装“自签名证书”来支持URL访问控制列表(URL ACL)和SSL认证,这样程序员(以非管理员用户登录电脑)可以在不需要提升用户权限,或执行额外设置的情况下就可以使用SSL。这个功能允许你在程序中为SSL设置需要保护的页面(比如登录页面),并且在开发过程中象在真实的web服务器里那样运行和测试这些页面。

IIS 7.x功能集

IIS Express就像你现在已经熟悉的ASP.NET开发服务其那样容易启动和使用。 但是因为IIS Express是基于与IIS 7x相同的代码,你可以用到完整Web服务器的功能集合。这也就意味着你可以像在真实的作业Web服务器上创建和运行你的程序。除了SSL,你还可以使用 IIS 7.x的URL重写模块、多媒体插件、动态内容压缩、高级日志功能、自定义安全策略和其他丰富多彩的模块。

除了支持ASP.NET以外,IIS Express还支持传统的ASP和其他被IIS支持的文件类型—这也使得它成为整合多种技术的站点的理想平台。

总结

IIS Express使得开发、运行和测试Web程序更加容易。它支持ASP.NET的所有版本和所有应用程序类型(包括ASP.NET Web窗体程序和ASP.NET MVC程序)。最好不过的是—你不需要改动任何代码来使用它。你将可以在所有已有的项目中选用它。

针对VS2010发布SP1补丁程序,这个补丁程序将用IIS Express替换掉原来内置的ASP.NET开发服务器。后续版本的Visual Studio都内置了IIS Express。

======================================华丽分割线====================================

 

既然VS2013都内置了IIS Express8.0,为什么又会出现启动失败的情况呢

在IIS Express的下载页面似乎找到了答案,

 

看到WebMatrix没,以前用过它的2.0版,它的任务栏图标和IISExpress是相同的呢,莫非要安装它。

安装WebMatrix3.0后,打开项目,F5启动,问题解决!

 

 

============================================= 2014-6-26 更新 ==================================

在此感谢@断红深处的回复,终于找到原因了。

首先,我们之前调试报错是因为注册表中缺少这一项“Use64BitIISExpress”,安装WebMatrix3.0会在注册表中默认写入这一项。不管是调试32位还是64位,

这一项对于启动IIS Express来说是关键。下面我们来讨论一下怎么调试64位的Web程序。
 

如下,把目标平台设置为64位。

如果按照默认方式启动是会报如下错误的。

“未能加载文件或程序集“MvcApplication2”或它的某一个依赖项。试图加载格式不正确的程序。”

如果我们想在Visual Studio2013上调试64位ASP.NET MVC的网站(本机环境X64),需要把IIS Express设置成默认的64位开发服务器。

我们可以通过修改注册表来进行设置,方法如下:

1.通过命令行直接写入:

“reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\WebProjects /v Use64BitIISExpress /t REG_DWORD /d 1”

拷贝上面的命令行到记事本中,保存后修改后缀名为bat或cmd,双击运行即可。

2.第二种方法是手动添加键值:

打开“运行”,输入“RegEdit”回车打开注册表编辑器。

定位到:“HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\WebProjects”

确保有一个名为“Use64BitIISExpress”REG_DWORD值。如果没有,请创建它。

修改该项的基数为16进制的数值数据值为1(默认值=0)。现在,您可以调试64位的网站了。(PS:这里值为0时则只能调试32位的网站。)

 

完成上面的修改后,你还需要确认下面这一项已经勾选。

 

修改完成,按F5成功运行网站程序后,我们可以在任务管理器的进程项中看到IIS Express的进程后不带32的字样,说明当前启动的为64位。下面附两张图作对比:

上图:32位

 

上图:64位

 

需要注意的是,需改完注册表的值后需要重启Visual Studio2013,并且是以管理员的权限启动,不然会报下面的错。

“未能加载文件或程序集“Antlr3.Runtime.DLL”或它的某一个依赖项。拒绝访问。”

OK,现在我们可以正常的调试64位Web程序了。

 

参考:

Debugging VS2013 Websites Using 64-bit IIS Express
Can't get IIS Express 8 beta to run website as 64-bit process 
更多精彩内容其他人还在看

PowerDesigner16.6怎么破解?SAP PowerDesigner16.6安装破解详细图文教程

PowerDesigner是一款来自国外的数据库建模工具,最近,很多网友问小编PowerDesigner16.6怎么破解?今天脚本之家小编就给大家带来SAP PowerDesigner16.6安装破解详细图文教程,希望对大家有所帮助
收藏 0 赞 0 分享

WebStorm 2017.3最新汉化激活破解及安装教程(附汉化包+原版下载)

WebStorm 2017中文破解版是一款JavaScript开发工具,是最强大的HTML5编辑器以及最智能的JavaSscript IDE,下面就整理WebStorm 2017.3最新汉化破解教程,并附有汉化包及官方原版程序下载地址
收藏 0 赞 0 分享

PhpStorm 10.0.2怎么激活?PhpStorm 10.0.2激活破解图文教程(附注册码)

PhpStorm 10.0.2怎么激活?对于新手来说最头痛的问题还是激活和使破解的问题,今天脚本之家小编就给大家带来PhpStorm 10.0.2激活破解图文教程(附注册码),希望对大家有所帮助
收藏 0 赞 0 分享

Toad for Oracle 2017完整破解版安装教程(附注册码) 64位

Toad for oracle 2017是一款功能强大的数据库管理软件,支持敏捷数据库开发工作,是一个功能强大、结构紧凑的专业化PL/SQL开发环境,本文提供最新版的Toad for Oracle 2017详细的安装步骤,以及软件下载地址和注册码
收藏 0 赞 0 分享

Aqua Data Studio 18汉化安装破解教程(附DateStopper破解下载)

Aqua Data Studio18中文版是一套完整IDE的数据库开发工具,新版对其通用数据库管理和分析软件的一次重大升级,下面就带来了Aqua Data Studio18最新版详细安装步骤,以及破解方法,仅供参考
收藏 0 赞 0 分享

informatica powercenter 9.x安装与配置图文详细教程(适应于Windows系统)

informatica powercenter是一款使用相当广泛的数据集成平台(ETL工具),本文主要针对目前还不会安装与配置informatica powercenter 9.x程序的朋友们,来图文详细介绍informatica powercenter 9.x安装与配置教程,并
收藏 0 赞 0 分享

Myeclipse 2017 CI8汉化破解教程(附注册激活码)

MyEclipse可用于用户所有的UML, AJAX, Web, Web Services, J2EE, JSP, XML, Struts, JSF, Java Persistence, EJB,扩展数据库支持以及应用程序服务器集成需求,那么Myeclipse 2017 CI8怎
收藏 0 赞 0 分享

CoolFormat 源代码格式化工具使用帮助手册

CoolFormat源代码格式化是一款C\C++\C#\CSS\HTML\Java\JavaScript\JSON\Objective-C\PHP\SQL\XML代码格式化工具。软件可以快速多种风格格式化,并对语言进行着色。界面采用Office 2010风格,并有多种样式可以替换
收藏 0 赞 0 分享

Sublime Text 3怎么设配置浏览默认路径为localhost?

Sublime Text 3怎么设置浏览器打开就是localhost路径?Sublime Text 3编辑程序的时候,需要对代码进行预览,该怎么制定配置浏览器默认的浏览路径为localhost呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Visual Studio窗口界面显示黑色很多功能消失了怎么办?

Visual Studio窗口界面显示黑色很多功能消失了怎么办?Visual Studio打开以后,窗口变成黑色的了,新建文件的时候,发现工具栏中少了很多功能,该怎么办呢?下面我们就来看看详细的解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多