麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 編程設(shè)計(jì) > 正文

VS2013無法啟動(dòng) IIS Express Web解決方法

2020-07-14 13:01:02
字體:
供稿:網(wǎng)友

開發(fā)環(huán)境:windows8.1+VS2013

使用VS2013有一段時(shí)間了,因前期都是編寫C/S程序,沒有使用到B/S調(diào)試器。前幾日,創(chuàng)建了一個(gè)MVC項(xiàng)目,突然發(fā)現(xiàn)VS2013無法調(diào)試,報(bào)了這樣的錯(cuò)。

一下子有點(diǎn)蒙,why?

國外網(wǎng)友給出的解決方案

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).
我通過上面的方法成功解決了

 修改項(xiàng)目屬性的Web項(xiàng),如下。

F5運(yùn)行,仍然出錯(cuò)。

 

這時(shí)候我知道了是Web調(diào)試器沒有啟動(dòng),但是卻不明白為什么。于是檢查IIS8.5的安裝情況,把一些可能需要安裝的都給裝了。

 

F5運(yùn)行,問題依舊。

 

問題焦點(diǎn)已經(jīng)很清楚了,就是IIS Express未能啟動(dòng)。于是想到查看事件,看有沒有記錄更具體的日志。

 

相關(guān)的事件有三條,前兩條相同,分別如下。

 

 

怎么和iisnode有關(guān)系,我們知道,iisnode是集成在IIS中用于托管node.js應(yīng)用程序來取代自托管node.exe進(jìn)程的一個(gè)模塊。

“C:/Program Files (x86)/iisnode-dev/release/x86/iisnode.dll”根本就不存在,這下更加暈了。為什么IIS Express會(huì)啟動(dòng)失敗還是不清楚。

我決定要徹底搞清楚IIS Express到底是什么東西。

 

===============================華麗分割線==============================

 

當(dāng)前程序員只能通過下面兩種Web服務(wù)器之一來開發(fā)和測(cè)試ASP.NET網(wǎng)站程序:

1. Visual Studio自帶的ASP.NET開發(fā)服務(wù)器(webdev.exe)。

2. Windows自帶的IIS Web服務(wù)器。

 

上面兩個(gè)方案各有優(yōu)缺點(diǎn),而且很多ASP.NET程序員告訴我們:“我希望有一個(gè)像ASP.NET開發(fā)服務(wù)器那樣容易使用,但是功能又跟IIS一樣強(qiáng)大的服務(wù)器”。今天我很高興地宣布,我們將提供另一個(gè)新的、免費(fèi)的、綜合了前兩個(gè)方案的優(yōu)點(diǎn)的選擇—IIS Express,它的出現(xiàn)使得開發(fā)和運(yùn)行ASP.NET網(wǎng)站程序變得更為容易。

 

IIS Express支持VS 2010和Visual Web Develop 2010 Express,可以運(yùn)行在Windows XP和更高的版本上,它不需要管理員權(quán)限即可運(yùn)行,也不要求代碼做任何的改動(dòng)。你可以用它開發(fā)所有類型的ASP.NET程序,而且它還支持完整的IIS 7.x功能集。

 

現(xiàn)有方案

在詳細(xì)介紹IIS Express之前,我們先來看看ASP.NET開發(fā)服務(wù)器和IIS的工作方式。

ASP.NET開發(fā)服務(wù)器

Visual Studio自帶的ASP.NET開發(fā)服務(wù)器(開發(fā)代號(hào)“Cassini”)的優(yōu)勢(shì)在于簡(jiǎn)練和便于快速啟動(dòng)。它不需要監(jiān)聽遠(yuǎn)程連接請(qǐng)求(因此在大部分企業(yè)的安全網(wǎng)絡(luò)環(huán)境中都可以使用它),你甚至都不需要使用管理員賬號(hào)就能啟動(dòng)它,而且它也不要求額外的安裝步驟。

正是因?yàn)榫邆鋯?dòng)方便這一巨大優(yōu)勢(shì),才使得它成為ASP.NET項(xiàng)目的默認(rèn)服務(wù)器,當(dāng)你在Visual Studio中按下F5時(shí)就會(huì)啟動(dòng)它。

但ASP.NET開發(fā)服務(wù)器的缺點(diǎn)是它不提供完整的Web服務(wù)器功能。比如說,它不支持SSL,URL重寫規(guī)則,自定義安全設(shè)置,和其它在IIS 7中支持的功能。

IIS Web服務(wù)器

用Visual Studio運(yùn)行和測(cè)試程序還有第二個(gè)選擇— IIS。你可以通過右鍵單擊Visual studio中的Web項(xiàng)目,打開它的屬性(在屬性窗口中單擊“Web”標(biāo)簽)來配置Web工程使用IIS。

使用IIS作為你的開發(fā)服務(wù)器允許你測(cè)試完整的Web服務(wù)器具備的功能(SSL,URL重寫規(guī)則等)。IIS是一個(gè)貨真價(jià)實(shí)的Web服務(wù)器—這意味著和在作業(yè)服務(wù)器上部署差不多開發(fā)環(huán)境。

但是采用IIS的缺點(diǎn)是,有些公司并不允許在開發(fā)機(jī)上安裝完整的Web服務(wù)器。IIS還要求使用管理員帳號(hào)來安裝和調(diào)試網(wǎng)站。不同版本的Windows又支持不同版本的IIS。例如,在Windows XP上,你只能使用自帶的IIS 5.1—所有IIS 7.x的新功能它都不支持。另外,在VS里配置網(wǎng)站項(xiàng)目使用IIS,還得一些額外的安裝和配置步驟。

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

IIS Express綜合了ASP.NET開發(fā)服務(wù)器易用性的優(yōu)勢(shì)和IIS強(qiáng)大的功能。確切地說:

它簡(jiǎn)練并且易于安裝(文件大小不到10兆而且安裝速度相當(dāng)快)。在Visual Studio中不需要管理員權(quán)限即可啟動(dòng)和調(diào)試程序。提供了完整的Web服務(wù)器功能——包括SSL, URL重寫,多媒體支持和所有其他的IIS 7.x模塊。它的可擴(kuò)展模型和web.config配置結(jié)構(gòu)和IIS 7.x是一樣的。它可以和IIS Web服務(wù)器還有ASP.NET開發(fā)服務(wù)器同時(shí)運(yùn)行在同一臺(tái)機(jī)器上(他們不會(huì)相互沖突)。它支持Windows XP及更高版本的操作系統(tǒng)—在所有操作系統(tǒng)平臺(tái)上提供了完整的IIS 7.x功能集。

IIS Express(跟ASP.NET開發(fā)服務(wù)器一樣)可以快速地從硬盤上的某個(gè)文件夾上啟動(dòng)網(wǎng)站程序。它不需要任何注冊(cè)或配置步驟。在網(wǎng)站開發(fā)過程中,這個(gè)特性使啟動(dòng)和運(yùn)行網(wǎng)站顯得相當(dāng)便捷。

與VS的整合

Visual Studio 2010的SP1引入了IIS Express支持。你將可以配置VS 2010使用它取代ASP.NET開發(fā)服務(wù)器作為ASP.NET項(xiàng)目默認(rèn)的Web服務(wù)器。跟現(xiàn)在的ASP.NET開發(fā)服務(wù)器一樣,你不需要在IIS Express里注冊(cè)站點(diǎn)或者虛擬目錄。它支持和ASP.NET開發(fā)服務(wù)器相同的使用方法——只是添加了更多的功能而已。

當(dāng)你按下F5來運(yùn)行ASP.NET項(xiàng)目時(shí),Visual Studio自動(dòng)啟動(dòng)IIS Express并且使用它來運(yùn)行和調(diào)試網(wǎng)站程序(不需要額外的配置)。跟ASP.NET開發(fā)服務(wù)器一樣,IIS Express運(yùn)行時(shí),會(huì)在任務(wù)欄的通知區(qū)域顯示一個(gè)小圖標(biāo):

右鍵單擊上面的圖標(biāo)并選擇“退出”就可以快速關(guān)閉IIS Express。你也可以通過右鍵單擊來列出正在運(yùn)行的站點(diǎn)列表,還有站點(diǎn)的文件夾路徑以及使用的.NET版本:

[備注:上圖IIS Express為英文版]

請(qǐng)注意上圖中兩個(gè)很酷的地方:

1. 正在運(yùn)行的站點(diǎn)“Test Site”,還有IIS Express本身,保存在硬盤的c:/users/[用戶名]文件夾中。這就允許非管理員用戶使用IIS Express和網(wǎng)站,而且還支持一些現(xiàn)在的IIS服務(wù)器沒有辦法實(shí)現(xiàn)的場(chǎng)景(例如可以在受限的企業(yè)網(wǎng)絡(luò)環(huán)境或受限的學(xué)校公共電腦上運(yùn)行IIS Express)。

2. 上面正在運(yùn)行的站點(diǎn)“Test Site”同時(shí)支持HTTP和HTTPS的訪問方式。IIS Express通過自動(dòng)安裝“自簽名證書”來支持URL訪問控制列表(URL ACL)和SSL認(rèn)證,這樣程序員(以非管理員用戶登錄電腦)可以在不需要提升用戶權(quán)限,或執(zhí)行額外設(shè)置的情況下就可以使用SSL。這個(gè)功能允許你在程序中為SSL設(shè)置需要保護(hù)的頁面(比如登錄頁面),并且在開發(fā)過程中象在真實(shí)的web服務(wù)器里那樣運(yùn)行和測(cè)試這些頁面。

IIS 7.x功能集

IIS Express就像你現(xiàn)在已經(jīng)熟悉的ASP.NET開發(fā)服務(wù)其那樣容易啟動(dòng)和使用。 但是因?yàn)镮IS Express是基于與IIS 7x相同的代碼,你可以用到完整Web服務(wù)器的功能集合。這也就意味著你可以像在真實(shí)的作業(yè)Web服務(wù)器上創(chuàng)建和運(yùn)行你的程序。除了SSL,你還可以使用 IIS 7.x的URL重寫模塊、多媒體插件、動(dòng)態(tài)內(nèi)容壓縮、高級(jí)日志功能、自定義安全策略和其他豐富多彩的模塊。

除了支持ASP.NET以外,IIS Express還支持傳統(tǒng)的ASP和其他被IIS支持的文件類型—這也使得它成為整合多種技術(shù)的站點(diǎn)的理想平臺(tái)。

總結(jié)

IIS Express使得開發(fā)、運(yùn)行和測(cè)試Web程序更加容易。它支持ASP.NET的所有版本和所有應(yīng)用程序類型(包括ASP.NET Web窗體程序和ASP.NET MVC程序)。最好不過的是—你不需要改動(dòng)任何代碼來使用它。你將可以在所有已有的項(xiàng)目中選用它。

針對(duì)VS2010發(fā)布SP1補(bǔ)丁程序,這個(gè)補(bǔ)丁程序?qū)⒂肐IS Express替換掉原來內(nèi)置的ASP.NET開發(fā)服務(wù)器。后續(xù)版本的Visual Studio都內(nèi)置了IIS Express。

======================================華麗分割線====================================

 

既然VS2013都內(nèi)置了IIS Express8.0,為什么又會(huì)出現(xiàn)啟動(dòng)失敗的情況呢

在IIS Express的下載頁面似乎找到了答案,

 

看到WebMatrix沒,以前用過它的2.0版,它的任務(wù)欄圖標(biāo)和IISExpress是相同的呢,莫非要安裝它。

安裝WebMatrix3.0后,打開項(xiàng)目,F(xiàn)5啟動(dòng),問題解決!

 

 

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

在此感謝@斷紅深處的回復(fù),終于找到原因了。

首先,我們之前調(diào)試報(bào)錯(cuò)是因?yàn)樽?cè)表中缺少這一項(xiàng)“Use64BitIISExpress”,安裝WebMatrix3.0會(huì)在注冊(cè)表中默認(rèn)寫入這一項(xiàng)。不管是調(diào)試32位還是64位,

這一項(xiàng)對(duì)于啟動(dòng)IIS Express來說是關(guān)鍵。下面我們來討論一下怎么調(diào)試64位的Web程序。
 

如下,把目標(biāo)平臺(tái)設(shè)置為64位。

如果按照默認(rèn)方式啟動(dòng)是會(huì)報(bào)如下錯(cuò)誤的。

“未能加載文件或程序集“MvcApplication2”或它的某一個(gè)依賴項(xiàng)。試圖加載格式不正確的程序。”

如果我們想在Visual Studio2013上調(diào)試64位ASP.NET MVC的網(wǎng)站(本機(jī)環(huán)境X64),需要把IIS Express設(shè)置成默認(rèn)的64位開發(fā)服務(wù)器。

我們可以通過修改注冊(cè)表來進(jìn)行設(shè)置,方法如下:

1.通過命令行直接寫入:

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

拷貝上面的命令行到記事本中,保存后修改后綴名為bat或cmd,雙擊運(yùn)行即可。

2.第二種方法是手動(dòng)添加鍵值:

打開“運(yùn)行”,輸入“RegEdit”回車打開注冊(cè)表編輯器。

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

確保有一個(gè)名為“Use64BitIISExpress”REG_DWORD值。如果沒有,請(qǐng)創(chuàng)建它。

修改該項(xiàng)的基數(shù)為16進(jìn)制的數(shù)值數(shù)據(jù)值為1(默認(rèn)值=0)?,F(xiàn)在,您可以調(diào)試64位的網(wǎng)站了。(PS:這里值為0時(shí)則只能調(diào)試32位的網(wǎng)站。)

 

完成上面的修改后,你還需要確認(rèn)下面這一項(xiàng)已經(jīng)勾選。

 

修改完成,按F5成功運(yùn)行網(wǎng)站程序后,我們可以在任務(wù)管理器的進(jìn)程項(xiàng)中看到IIS Express的進(jìn)程后不帶32的字樣,說明當(dāng)前啟動(dòng)的為64位。下面附兩張圖作對(duì)比:

上圖:32位

 

上圖:64位

 

需要注意的是,需改完注冊(cè)表的值后需要重啟Visual Studio2013,并且是以管理員的權(quán)限啟動(dòng),不然會(huì)報(bào)下面的錯(cuò)。

“未能加載文件或程序集“Antlr3.Runtime.DLL”或它的某一個(gè)依賴項(xiàng)。拒絕訪問。”

OK,現(xiàn)在我們可以正常的調(diào)試64位Web程序了。

 

參考:

Debugging VS2013 Websites Using 64-bit IIS ExpressCan't get IIS Express 8 beta to run website as 64-bit process 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久免费视频在线 | 龙的两根好大拔不出去h | 老女人碰碰在线碰碰视频 | 九九精品在线 | 亚洲第一成人在线 | 爽爽淫人综合网网站 | 国产精品久久久久无码av | 欧美黄色片免费看 | 久综合色 | 国产午夜精品久久久久久免费视 | 羞羞视频免费观看入口 | 亚洲一级毛片 | 国产精品片一区二区三区 | 亚洲国产高清一区 | 日本欧美一区二区三区视频麻豆 | 久久久久久久久久久亚洲 | 色播视频在线播放 | 撅高 自己扒开 调教 | 欧美精品a∨在线观看不卡 午夜精品影院 | 亚洲成人国产综合 | 日韩色电影| 成人男男视频拍拍拍在线观看 | 国产三级在线视频观看 | 在线免费av网站 | 精品国产一区二区三区免费 | 久久精品99北条麻妃 | 一级做a爰片性色毛片2021 | 在线观看免费av网 | 在线视频观看成人 | 秋霞a级毛片在线看 | 黄色片网站免费在线观看 | 黄色伊人网站 | 久久精品亚洲精品国产欧美kt∨ | av资源在线天堂 | 国产在线播放一区二区 | 日本xxxx视频 | 国产日韩一区二区三区在线观看 | 黄色网欧美 | 国产乱弄 | 色妞欧美| 国产视频第一区 |