VS2013和VS2010哪个好? VS2013无法启动 IIS Express Web解决办法


不要勾选【覆盖应用程序根URL(U)】,或让【覆盖应用程序根URL(U)】下面的输入框和上面的输入框的地址一样!
使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器 。前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错 。
一下子有点蒙,why?
修改项目属性的Web项,如下 。
F5运行,仍然出错 。
这时候我知道了是Web调试器没有启动,但是却不明白为什么 。于是检查IIS8 。5的安装情况,把一些可能需要安装的都给装了 。
F5运行,问题依旧 。
问题焦点已经很清楚了,就是IIS Express未能启动 。于是想到查看事件,看有没有记录更具体的日志 。
相关的事件有三条,前两条相同,分别如下 。
怎么和iisnode有关系,我们知道,iisnode是集成在IIS中用于托管node 。js应用程序来取代自托管node 。exe进程的一个模块 。
“C:Program Files (x86)iisnode-devreleasex86iisnode 。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启动,问题解决!
VS2012 无法启动IIS Express Web服务器的解决方案
打开VS2012解决方案资源管理器 -> 点选 Web 项目选择 -> 属性 -> Web -> 选择“使用 Visual Studio 开发服务器” -> 选中“自动分配端口”。
【VS2013和VS2010哪个好? VS2013无法启动 IIS Express Web解决办法】再次运行Web项目,大功告成!

    推荐阅读