ASP.NET項(xiàng)目提示無(wú)法打開Web項(xiàng)目問(wèn)題的解決
故障現(xiàn)象:
當(dāng)你打開ASP.NETWeb項(xiàng)目時(shí),如果出現(xiàn)這樣的錯(cuò)誤提示:
提示窗口標(biāo)題:Web訪問(wèn)失敗
提示內(nèi)容:此項(xiàng)目的默認(rèn)Web訪問(wèn)模式設(shè)置為文件共享,但是無(wú)法從路徑“...”打開“...”處的項(xiàng)目文件夾。返回的錯(cuò)誤是:無(wú)法打開Web項(xiàng)目“”。返回的錯(cuò)誤是:無(wú)法打開Web項(xiàng)目“...”。文件路徑“...”懷URL“...”不符。這兩者需要映射到相同的服務(wù)器位置。HTTP錯(cuò)誤404:NotFound......
處理方法:
到“C:\DocumentsandSettings\你的用戶名\Visual StudioWebCache\計(jì)算機(jī)名\”中,刪除與該項(xiàng)目同名的文件夾。
分析:
當(dāng)你新建ASP.NETWeb項(xiàng)目時(shí),Visual Studio.NET會(huì)自動(dòng)在Visual StudioWebCache中新建一個(gè)與項(xiàng)目同名的文件夾(如果已存在這樣的文件夾,Visual Studio.NET會(huì)更新該文件夾),并在該文件夾中創(chuàng)建一個(gè)文件(項(xiàng)目名.csproj.user)和ASP.NETWeb項(xiàng)目中所有目錄的副本(副本是一個(gè)空目錄,不包含任何文件)。
當(dāng)你打開ASP.NETWeb項(xiàng)目,Visual Studio.NET會(huì)讀取Visual StudioWebCache中的與該項(xiàng)目同名的文件夾,如果Visual StudioWebCache中的文件夾的映射路徑與這個(gè)ASP.NETWeb項(xiàng)目不同就會(huì)出現(xiàn)上面的錯(cuò)誤信息。而這時(shí)只有通過(guò)刪除Visual StudioWebCache中的同名文件夾,讓Visual Studio.NET重新建一個(gè)才能解決問(wèn)題。
小知識(shí):
1、Visual StudioWebCache的作用是為了支持脫機(jī)開發(fā)ASP.NETWeb應(yīng)用程序。假如你本來(lái)在一臺(tái)WEB服務(wù)器進(jìn)行ASP.NET項(xiàng)目的開發(fā),現(xiàn)在因?yàn)槟承┰颍荒茉谧约旱墓P記本電腦上進(jìn)行脫機(jī)開發(fā),這時(shí)你就可以利用Visual Studio.NET的WEB脫機(jī)開發(fā)功能。在自己的筆記本電腦上打開這個(gè)項(xiàng)目,在Visual Studio.NET中,選中“項(xiàng)目”=》“Web項(xiàng)目”=》“脫機(jī)工作”。這時(shí),Visual Studio.NET會(huì)將所有項(xiàng)目文件復(fù)制到Visual StudioWebCache中。這樣你就可以在脫機(jī)情況下,通過(guò)打開Visual StudioWebCache中的項(xiàng)目文件來(lái)進(jìn)行開發(fā)。當(dāng)聯(lián)機(jī)時(shí),選中“項(xiàng)目”=》“Web項(xiàng)目”選擇“同步所有文件夾”,就可以將脫機(jī)開發(fā)的內(nèi)容復(fù)制到服務(wù)器中。
2、Visual Studio.NET使用FrontPageserverextensionsg與Web服務(wù)器進(jìn)行通信,Visual Studio.NET無(wú)法直接修改Web服務(wù)器中的文件,所以Visual Studio.NET把Visual StudioWebCache作為一個(gè)中轉(zhuǎn)站,將編輯與編譯的文件先放在Visual StudioWebCache中,然后通過(guò)FrontPageserverextensionsg上傳到服務(wù)器。
小問(wèn)題:Visual Studio.NET彈出的這個(gè)提示窗口中的信息無(wú)法通過(guò)Ctrl+C進(jìn)行復(fù)制。
參考文章:http://www.ftponline.com/Visual Studiom/2003_01/online/hottips/kiely/default.aspx
如果還是解決不了!
檢查一下IIS里面的設(shè)置,是否存在這個(gè)虛擬目錄和它的指向。用記事本打開.sln文件,把里面的localhost后面的虛擬目錄寫好,保存,然后再用Visual Studio打開。如果還是不行,那么把web.config命名為_web.config用Visual Studio打開項(xiàng)目。
你設(shè)置的虛擬目錄名要和該項(xiàng)目原來(lái)使用的虛擬目錄名一樣,或者在.csproj.webinfo文件中,將URLPath值改成你現(xiàn)在使用的虛擬目錄名.
如果上面的方法還是無(wú)法解決辦法,那就試一試下面的方法
在Visual Studio.NET中,為了測(cè)試URL和UNC,Visual Studio.NET會(huì)在目錄下面生成一個(gè).tmp文件,然后通過(guò)HTTP對(duì)該文件發(fā)出請(qǐng)求。但是在IIS6中,出于安全考慮,tmp文件沒(méi)有注冊(cè),默認(rèn)情況下,會(huì)被block然后產(chǎn)生HTTP404錯(cuò)誤。
解決這個(gè)問(wèn)題,請(qǐng)您參閱下面的方法:
1。打開IIS管理器。
2。右鍵點(diǎn)擊"DefaultWebSite"并選擇Properties.
3。點(diǎn)擊"HttpHeader".
4。點(diǎn)擊"MIMETypes".
5。點(diǎn)擊“New”。
6。在Extension中,輸入".tmp".(不需要引號(hào))
7。在MIMEType中,輸入"Temp".(不需要引號(hào))
還有一種解決方法,您可以使用下面的命令行:
%systemdrive%\inetpub\adminscripts\adsutil.vbssetw3svc/1/root/MimeMap.tmp,temp
在創(chuàng)建WebApplication時(shí),Visual Studio.Net需要在創(chuàng)建路徑下創(chuàng)建后綴名為.tmp的臨時(shí)文件。
當(dāng)Visual Studio.Net創(chuàng)建好項(xiàng)目之后,就會(huì)以HTTP的方式向Web文件夾尋求項(xiàng)目文件,同時(shí)也尋求臨時(shí)文件。由于windows2003在某些安裝步驟下的IIS沒(méi)有把.tmp文件設(shè)置為MIME類型,所以IIS向Visual Studio.Net返回了未知文件類型的錯(cuò)誤,即找不到文件。所以Visual Studio.Net認(rèn)為你的IIS路徑設(shè)置不對(duì)。
若還是不行,就重新配置一下IIS
【編輯推薦】