a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 編程設計 > 正文

VS2013無法啟動 IIS Express Web解決方法

2020-07-14 13:01:02
字體:
來源:轉載
供稿:網友

開發環境: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 ExpressCan't get IIS Express 8 beta to run website as 64-bit process 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜爱视频 | 免费福利在线 | 欧美成人一区二区 | 国产毛片一区二区 | 亚洲国产伊人 | 天堂网色| 91成人精品视频 | 在线 丝袜 欧美 日韩 制服 | 久久av黄色 | 欧美国产日本精品 | 黄色一级毛片 | 日本激情网 | 久久精品com| 狠狠色综合欧美激情 | 日韩最新网址 | 国产一级电影网 | 日韩视频精品在线 | 日本免费一区二区视频 | 欧美中文在线 | 日本1区 | 国产欧美日韩精品一区二区三区 | 久久97 | 色婷婷久久 | 国产v片 | 国产美女在线播放 | 懂色一区二区三区免费观看 | 欧美一级片在线观看 | 91精品国产自产91精品 | 黄色国产一级视频 | 日本精品一区二区三区在线观看视频 | 久久99精品国产麻豆婷婷洗澡 | 久久午夜综合久久 | 久久成人激情视频 | 久久国产一区二区 | 欧美一区二区久久 | 国产探花在线观看 | 一区二区免费 | 亚洲天堂一区 | 一级a性色生活片久久毛片波多野 | 欧美日韩一级二级三级 | 天天干,夜夜操 |