昨天到今天搞了一整天,把人都要差點搞崩了! ,以後再也不能亂關機了,因為這次的大意,幾乎所有的Net安裝,調試問題都被我碰到了,還好,我一個個把他記錄下來了,同時,在CSDN找了一些相關的解決方法,不敢獨享,供大家相互學習交流之用。
起因是這樣的,機子運行IE時假死,我用著不爽,就二話不說熱啟動,結果就出事了。
重新打開正在Vs2003.Net裡面正在作的項目時,老半天沒反應,機子變得異常慢,當然,出於職業的敏感,馬上來了個Ctrl+Alt+Del,這下不好,CPU占用100%,一直高居不下,運行IE,老半天沒反應。第一直覺,是不是中招了?
速度至上,關機重新啟動,立馬打開KV2006正版殺毒軟件,殺了再說,將近2個小時的折磨,我的機子冰清玉潔,一個毒瘤的影子也沒有(絕對沒有毛片,我是五好青年)!乍會這樣?再打來了個Ctrl+Del+Alt,查看任務管理器,看下有沒有"外星人"侵入我方領土,在百度上看到windows這個任務管理器比較水,於是我又去下了一個據說是比較拽的aports來進行進程分析,起初懷疑是svshost.exe被強奸了!(很多文章說win2000只有2個這個東東,而我的走出了三個),把他close掉了,CPU還是100%,一個個進程都關了,結果還是一樣的.----這樣第一個可能性:機子中招了的可能性被排除!
由於一開始沒有任何提示,只是CPU受折磨,但打開vs2003正常,我試著打開其它項目居然正常!難道是我的程序出問題?二話不說,把昨天的備份程序搞出來(這可是運行正常的),將現在的源文件重命名,把備份搞進去(我經常這樣做,以前沒有出現什麼錯),重新啟動,打開project,問題依舊。。。。 第二個可能性:程序出問題的可能性也被排除!
難道就這樣被折磨?在CSDN上發了一個求教貼,沒有能夠得到好的解決方案。總不能老等吧!
有網友說是用了代理上網而造成這個問題,我這機子重來沒有用代理上網過啊!還有網友說是不是一些BT之類,電驢之類所造成的CPU資源問題,我二話不說就否定了,小生我從來不用BT電驢之類,乍會呢?還有一個網友貼到讓我把SMTP虛擬服務器先關了,再啟動,我按照他的方法試了一下,還是不行啊!新建項目呢??我一時沒想到這個方法,可以新建一個項目把原來的代碼引用過去就行啊!腦子裡閃過一絲念頭,打開Vs2003.Net,新建項目,KAO,完了,沒動靜,死了。又看了一下Ctrl+Alt+Del, CPU100%沒得說,一條直線正在我眼前持續的劃過......
我開始懷疑是不是IIS在作怪??發現在IIS下打開原來的項目也不行,CPU居然也是占用100%!反正都要死了,不搞白不搞,搞一下才知道。於是,重啟機子,我把原來建項目時IIS自動所對應的虛擬目錄刪除掉,同時新建一個不同命名的項目,這下又出現了新問題:
無法找到腳本庫:/aspnet_client/system-web/v1.14322/webuivalidation.js
這個問題不難,很好解決:
方法就是:
點擊開始→運行:c:\winnt\microsoft.net\framework\v1.14322\aspnet-regiis -c
OK
這個問題解決了,我又覺得我應該把現在這個項目命名為原來的項目名稱才行,這樣重新引用原來的代碼,應該就可以解決了吧!廢話少說,行動再說----結果!不行!又恢復到原來的CPU100%了
郁悶,搞得自己有點窩火了!關機,重啟第48次,我再打開VsNet2003,絕望中,反正都死了,死也要看到乍麼個死法才行,我就打開這項目,等他CPU運行,看最後的結果是什麼!蝸牛般的運行(狀態欄中有“正在打開web服務器之類的文字提示)。。。大約過了30分鐘(我泡的茶都喝了兩大盅了),跳出一個對話框:
Visual Studio 無法創建或打開應用程序,因為此計算機沒有運行web服務器,請先啟動Web服務器,再繼續下一步的操作
這這這簡直是放屁,我的IIS明顯打開的!在CPU100%的情況下,我又耐著性子,重新打開IIS查看一下,並重新啟動一下IIS。同時在另一台機子上百度相關資料,有人說要把:wwwroot文件夾訪問權限設置為everyone,這個沒起到作用,因為我這文件夾本來就是共享出來的(當然,可能是針對的問題不同)。方法是:
權限問題,可能asp.net用戶不具有對wwwroot的寫操作。
解決途徑:try:
控制面板--》管理工具--》計算機管理--》本地用戶和組
然後將aspnet用戶添加到管理員組。
經過這般折磨之後,我索性再次重啟機子,看看這VS2003.Net又有什麼新的不良反應出現,嘿,還真出現了
新的錯誤提示.
IIS 默認網站的主目錄;本地路徑設
置為“C:\Inetpub\wwwroot”。在局域網上,客戶機可以用“http://localhost/Mydir/index.aspx”訪問。為了方便客戶機訪問,我把IIS 默
認網站的主目錄>本地路徑設置為“C:\Inetpub\wwwroot\Mydir”。此時,客戶機可以用“http://localhost/index.aspx”訪問。但是,我在
VS.NET 2003 開發環境打開此項目(MyWeb) 時,出現如果如下問題:
無法從 Web 服務器獲取項目文件。無法打開 Web 項目 “MyWeb”。文件路徑“C:\Inetpub\wwwroot\Mydir”與URL
“http://localhost/Mydir”不符。這兩者需要映射到相同的服務器位置。
HTTP 錯誤 404: Not Found
還有兩個選項:
你希望做什麼:
1使用不同的文件夾共享路徑重試
2.嘗試通過FrontPage服務器擴展打開項目
我想,這個問題應該是虛擬路徑上的問題,對著其提示的路徑,我打開IIS,發現默認站點的路徑C:\Inetpub\wwwroot\,同時我的項目的路徑也是正確的.無意中發現CPU也不占100%了,看來原來的問題是解決了,可新問題又出來了,就是沒折,先CSDN一下社區的看有沒相類似的問題,還好,一大堆的方法;
方法1.進入IIS->默認網站->右鍵點“屬性”->目錄安全性->身份驗證和訪問控制->編輯->將你的匿名登陸賬戶改為 Administrator 並輸入密碼
這個我試了,沒有用啊
方法2::重裝IIS
打開 Windows 組件向導。
單擊“組件”中的“應用程序服務器”,然後單擊“詳細信息”。
在“應用程序服務器”對話框的“應用程序服務器的子組件”下,單擊“Internet 信息服務 (IIS)”,然後單擊“詳細信息”。
在“Internet 信息服務 (IIS)”對話框的“Internet 信息服務 (IIS) 的子組件”下,執行以下任何一項操作:
要添加可選組件,請選中要安裝的組件旁邊的復選框。
要刪除可選組件,請清除要刪除的組件旁邊的復選框。
單擊“確定”,直到返回到“Windows 組件向導”。
單擊“下一步”,然後單擊“完成”。
這個我還是留著最後來用吧
方法3:選擇"文件"菜單-->"打開Web上的項目",然後找到你放項目的磁盤(如e:\webfile)下,然後打開擴展名為.vbproj(cs的項目也類同).注意:不要打開.sln.
接下來重新生成解決方案就可以了.
這個我試了,好像也沒作用,因為新建項目也不行,原來的也打不開
我就是用這個方法解決的
方法4:
A:1。打開IIS管理器。
2。右鍵點擊"Default Web Site"並選擇Properties.
3。 點擊"Http Header".
4。 點擊"MIME Types".
5。 點擊“New”。
6。 在Extension中,輸入".tmp". (不需要引號)
7。 在MIME Type中,輸入 "Temp". (不需要引號)
唉,搞了老半天,終於搞出來了!在VS.net2003中的一些錯誤讓我們百思不得其解,為了讓大家在面對這些問題時有些招數,我就順便把一些常見的問題都搜出來了,解雇對大家有幫助.
問題一:不能創建web應用程序
來源:http://dev.csdn.net/develop/article/19/19725.shtm
1、當站點主目錄沒有創建應用程序:
通過FP擴展+虛擬目錄的方式來建立WEBAPP,步驟如下:
(1)、右擊站點---所有任務--配置服務器擴展
(2)、建立虛擬目錄***,並使其配置應用程序
(3)、在VS中建立WEB項目,名稱也為***
(4)、通過通過FP擴展來建立WEB
2、當站點主目錄創建應用程序:
第一種方法--FP擴展:
(1)、右擊站點---所有任務--配置服務器擴展
(2)、在VS中建立WEB項目,名稱自己隨便定
(3)、通過通過FP擴展來建立WEB
第二種方法--WEB共享:
(1)在IIS中將IP地址改為全部未分配
(2)將地址改為127.0.0.1或LOCALHOST
3、還不能建立時請試用下列方法:
(1)“站點”---右鍵---“屬性”---“所有任務”---“重新計算 Web 上的超鏈接”
然後在vs.net下通過frontpage服務器擴展創建
(2)指示要通過文件共享直接訪問 Web 服務器上的項目文件;不需要在該服務器上安裝 FrontPage 服務器擴展。
安裝 Visual Studio .NET 時,將創建一個“VS Developers”(VS 開發人員)用戶組,並授予該用戶組對 inetpub\wwwroot 文件夾的讀/寫權限。想使用計算機上的文件共享創建 Web 項目的任何用戶都需要添加到“VS Developers”(VS 開發人員)用戶組中。新建的“VS Developers”(VS 開發人員)組沒有任何成員,所以,即使是安裝 Visual Studio 的用戶,也必須手動將自己添加到這個組中。
如果不希望將 Visual Studio 安裝到服務器上,可以通過 Visual Studio 安裝程序僅安裝服務器組件,以創建“VS Developers”(VS 開發人員)組。
(3)win2003下:
在VS.NET中,為了測試URL和UNC, VS.NET會在目錄下面生成一個.tmp文件,然後通過HTTP對該文件發出請求。但是在IIS 6中,出於安全考慮,tmp文件沒有注冊,默認情況下,會被block然後產生HTTP 404錯誤。
解決這個問題,請您參閱下面的方法:
1。打開IIS管理器。
2。右鍵點擊"Default Web Site"並選擇Properties.
3。 點擊"Http Header".
4。 點擊"MIME Types".
5。 點擊“New”。
6。 在Extension中,輸入".tmp". (不需要引號)
7。 在MIME Type中,輸入 "Temp". (不需要引號)
還有一種解決方法,您可以使用下面的命令行:
%systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/1/root/MimeMap .tmp,temp
在創建Web Application時,VS.Net需要在創建路徑下創建後綴名為.tmp的臨時文件。
當VS.Net創建好項目之後,就會以HTTP的方式向Web文件夾尋求項目文件,同時也尋求臨時文件。由於windows2003在某些安裝步驟下的IIS沒有把.tmp文件設置為MIME類型,所以IIS向VS.Net返回了未知文件類型的錯誤,即找不到文件。所以VS.Net認為你的IIS路徑設置不對。
問題二:aspx項目不能調試
原因及解決辦法
1、已經啟動了一個調試進程(同時打開了兩個項目,且有一個已經在調試):同時只能啟動一個;
2、配置文件中debug="false":改成true;
3、虛擬目錄沒有建立應用程序(或者名稱為空):在虛擬目錄屬性中“應用程序”點擊創建
4、項目配置為Release:點菜單“生成”-配置,選擇“debug”
5、“你沒有調試服務器權限”:修改IE的安全設置,“自動使用當前用戶名和密碼登錄”
問題三:Automation 服務器不能創建對象
原因及解決辦法
1.:修改注冊表([HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}\ProgID]
@="Scripting.FileSystemObject"),將FileSystemObject改成一個任意的名字
2.運行Regsvr32 scrrun.dll
問題四:無法在Web服務器上啟動調試
原因及解決辦法
1.Web應用程序是否具有Web.config文件?Web.config文件是否通過將debug 屬性設置為true?
2.是否是“調試器用戶”(Debugger Users)組的成員?
3.IE的Internet選項->安全->Intranet->自定義級別->用戶驗證的“自動使用當前用戶和密碼登錄
問題五:
Web服務器報告了以下錯誤:“Http/1.1 400 Bad request
原因及解決辦法
1.有兩個ip地址。所以localhost出錯,把iis裡面的ip地址改成“全部未分配”就行
2.第一步將Asp.net在IIS中重新注冊,運行如下命令: aspnet_regiis -i
第二步:進入IIS管理器,將“默認網站”-“屬性”-“網站”,將“IP地址”改為“(全部未分配)”;點擊“WEB服務擴展”,將“ASP.NET v1.1.4322 ”改為“允許”。
問題六:在下列情況下,Microsoft Visual Studio .NET 2003 無法打開現有的 ASP.NET 1.1 Web 項目: ? 在“Web 服務擴展”列表中將 ASP.NET 1.1 設置為“禁止”。
- 並且 -
在“Web 服務擴展”列表中將 ASP.NET 1.0 設置為“允許”。
並且 -
計算機正在運行 Microsoft Windows Server 2003。
當您嘗試創建一個新的 ASP.NET 1.1 項目時,可能會收到以下錯誤信息:
Visual Studio .NET has detected that the specified Web server is not running ASP.NET version 1.1.You will be unable to run ASP.NET Web applications or services.
原因及解決辦法
請在 IIS 6.0 中的“Web 服務擴展”列表中將 ASP.NET 1.1 的狀態更改為“允許”。為此,請按照下列步驟操作: 1. 單擊“開始”,指向“程序”,然後單擊“控制面板”。
2. 雙擊“管理工具”,然後雙擊“Internet 信息服務 (IIS)”。
3. 單擊“Web 服務擴展”。
4. 在細節窗格中,單擊“Web 服務擴展”列表中的“ASP.NET v1.1.4322”。
5. 單擊“允許”以將狀態從“禁止”更改為“允許”。
如果你的IIS不是6.0的版本。可以使用如下方法:
-開始-所有程序-Microsoft Visual Studio .NET2003-Visual Studio.net 工具-Visual Studio .NET 2003 命令提示
打開上面的Cmd命令窗口後,輸入:aspnet_regiis /i
問題七:嘗試打開web項目,web服務器報告以下錯誤:http/1.1 500 Internal server error
原因及解決辦法
1.使用代理上網
2.regsvr32 script.dll
3.第一步:先用添加/刪除程序,把IIS組件中FRONTPAGE擴展服務,重新安裝一遍.
第二步:到管理工具,INTERNET選項,默認站點,右鍵屬性.主目錄.把寫入權限勾上,單擊創建.確定
4.運行Regsvr32 scrrun.dll
問題八:
vs.net已經檢測到制定的WEB服務器運行的不是ASP.NET1.1版,你無法運行ASP.NET WEB應用程序或服務
原因及解決辦法:
1.原因:將IIS中“默認web站點”刪除,自己新建了一個站點,運行正常,就是無法編譯,新建也不成,出現非1.1版本錯誤,以前出現錯誤是因為,服務器使用了固定IP,而管理員將屬性中的IP地址為指定的ip地址.
解決方法:1.當然先確定一下,是否真的裝了1.1的版本,查看路徑 C:\WINNT\Microsoft.NET\Framework\v1.1.4322 ,重新安裝 aspnet_regiis,確定你的“Internet信息服務”中使用的是“默認web站點”並且其屬性中的IP地址為“(全部未分配)”,而不是你己指定的ip地址,IE使用了代理的話,把 Bypass Proxy Server for local adresses勾上,
另:aspnet_regiis 的參數
問題九:http重定向請求失敗
原因:是否在程序裡面采用Forms驗證,修改web.config裡面的相關驗證設置
問題十:vs.net開發asp.net新建項目時提示“無法與服務器建立連接
IIS的問題
運行C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
問題十一:試圖運行項目時出錯:無法在web服務器上啟動調試.未能啟動Asp.net或Atl Server調試
解釋說明
http://support.microsoft.com/?scid=kb;zh-cn;318465
在DOS命令窗口運行
進入WINNT\Microsoft.NET\Framework\v1.1.4322
cd C:\WINNT\Microsoft.NET\Framework\v1.1.4322
執行aspnet_regiis.exe /i
問題十二:VS 2003 新建項目時出現錯誤提示: VC 軟件包不可用或未注冊
要解決這個問題,需要運行Visual Studio .NET修復程序。由於修復程序會強制注冊一些安裝程序中沒有被注冊的項目,因此能更有效地解決這個問題。
按照下列步驟運行修復程序:
在開始中,指向“設置”,點擊控制面板,然後點擊“添加/刪除程序”;在列出的已安裝程序列表中,點擊Visual Studio .NET,然後點擊“更改/刪除”;點擊Visual Studio .NET安裝對話框1 2 3項目中的第二項;
點擊“修復/重裝”,然後按照屏幕提示操作。
更多相關信息:重現這個問題的做法
要重現這個問題,最好有裝在獨立分區上的兩個操作系統,兩個Windows XP Professional會達到這個目的。
1、在一個操作系統下安裝Visual Studio .NET;
2、在另一個操作系統下Visual Studio .NET,安裝過程中改變安裝的缺省路徑,以匹配第一次安裝的路徑。(兩次安裝結果都會宣告成功)
3、然後啟動第二次安裝的Visual Studio .NET(你就會發現這個問題的重現)。
這種安裝形式是永遠不推薦的,即使兩次安裝選項完全相同,而且你也會以此節省磁盤空間,但這種方法出現潛在問題的機會是很大的。如果一個Visual Studio .NET改變了文件和注冊選項,這些改變不會記錄到另一個Visual Studio .NET中,以致造成出現不可預料結果的潛在危險。
另外,如果在重裝系統後再重新安裝VS.NET到重裝系統前的相同目錄下(沒有刪除此目錄下原來的文件),也有可能會出現“VC軟件包不可用或未注冊”這個錯誤提示!
問題十三:嘗試運行項目時出錯:無法在 Web 服務器上開始調試
問題及解決方法:
1.調試 ASP.NET 項目
檢查項目是否有有效的 Web.config 文件,Web.config 文件是否將“debug”設置為“true”,以及 debug 謂詞是否與 .aspx 關聯
2.調試 ISAPI 應用程序
調試 ISAPI 應用程序需要特別注意設置步驟。調試准備的一般步驟包括:
為服務器應用程序創建解決方案,帶有交互運行服務的選項。
在“用戶管理器”中設置權限。必須注銷並重新登錄以使權限生效。
停止並重新啟動服務。
3
step1:.集成window身份驗證
右擊"我的電腦"->"管理"->"服務和應用程序"->"Internet信息服務管理器"
->"網站"->"默認網站"->"屬性"->"目錄安全性"選項卡->"身份驗證和訪問控制塊"->"編緝"->選中"集成windows身份驗證"(針對win2003系統,其它系統大體相同)
step2.集成身份驗證後,對匿名用戶使用下列windows用戶帳戶,
用戶名為 機器名\IUSR_機器名,密碼系統自動添加。此用戶屬於Guests用戶組,不能更改。
匿名訪問 Internet 信息服務的內置帳戶
step3.登錄用戶隸屬於Debuger Group組和Adminstrator組(調試權限和對文件完全控制權限), ASPNET用戶隸屬於Administrator組(操作apsx文件權限)
step4.在IE裡 自動使用當前用戶名和密碼登錄(要注銷重新登錄才有效)
"工具"->"Internet選項"->"自定義級別"->"自動使用當前用戶名和密碼登錄"
step5.檢查 “保持HTTP連接”復選框是否選中,如果沒有,選中。
step6:.沒有創建應用程序
控制面板——>管理工具——>Internet信息服務——>找到你的項目
——>屬性——》虛擬目錄 選項,下面有一個 <應用程序名>,後面有一個<按鈕>,
看一下是創建還是刪除,如果是創建,點擊一下,按鈕就會變為刪除,然後保存.
在程序的vs.net的vs.net tool 的 vs.net command prompt下 查詢參數 aspnet_regiis /all
暫時就這麼多吧,以後再加上去,希望能對大家有用:)
還有一些MSDN上的相關東東,放上來給大家,看下在遇到問題時,對您一點幫助
Visual Studio .NET 中的 Web 項目和源代碼管理集成
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/sccvs70 ... ntrolintegrationinvisualstudionet_convert.asp
Q:不能啟動調試,災難性錯誤(在 Visual Studio .NET 中調試 ASP.NET 應用程序時出現的常見錯誤)
A:http://support.microsoft.com/?id=306172
---------------------------------------------------------------------------------------------------------------------------------
Q:在生成安裝和部署項目時收到“Unrecoverable Build Error”(不可恢復的生成錯誤)錯誤信息
A:http://support.microsoft.com/?id=329214