簡體   English   中英

無法在Web服務器上啟動調試。無法啟動ASP.NET調試VS 2010,II7,Win 7 x64

[英]Unable to start debugging on the web server. Could not start ASP.NET debugging VS 2010, II7, Win 7 x64

我在Windows 7 x64上運行Visual Studio 2010(作為管理員),IIS 7。 我能夠在IIS 7中運行ASP.NET網站而無需調試,但是當我按F5進行調試時,我得到:

無法在Web服務器上啟動調試。 無法啟動ASP.NET調試。 無需調試即可通過啟動項目獲得更多信息。

不幸的是,幫助鏈接對我沒有多大幫助,導致了一大堆事情。

我檢查了以下內容:

  • 安全要求 - 我不記得以前必須做任何特別的事情。 IIS7中的工作進程是w3wp.exe。 它說,如果它作為ASPNET或NETWORK SERVICE運行,我必須具有管理員權限來調試它。 我怎么知道我是否需要在這里更改一些東西?

  • 網站屬性頁>開始選項>調試程序>選中ASP.NET。 使用自定義服務器設置為站點的URL(無需調試即可正常工作)。

  • web.config啟用了調試。

  • 應用程序正在使用ASP.NET 3.5(我想最終轉移到4.0,但我有一些遷移要處理)。

  • 應用程序池:對.NET AppPool進行分類(也嘗試過DefaultAppPool)。

我接下來可以查看的任何想法?

當然,安裝IIS,VS,創建網站並開始測試它應該不難嗎?

提前致謝。

嘗試訪問IIS並檢查以確保您正在使用的應用程序池已啟動。 很多時候,您將產生一個關閉應用程序池的錯誤。 你只需要右鍵單擊並開始,你應該很高興。

事實證明,罪魁禍首是IIS Url Rewrite模塊。 我已經定義了一個規則,將對Default.aspx (設置為網站的起始頁面)的調用重定向到網站的根目錄,以便我可以擁有規范的主頁URL。 然而,顯然VS有一個問題,並感到困惑。 當我使用Helicon ISAPI_Rewrite時沒有發生這個問題,所以我甚至沒有檢查過。

我最終從頭開始創建了一個全新的網站,並將項目/文件一點一點地移植到我的解決方案中並重建我的web.config直到我發現了這一點! 好吧,至少現在我有一個使用.NET 4.0的稍微清潔的網站(到目前為止,希望我不會碰到任何牆) - 但真是太痛苦了!

Visual Studio在啟動時會(由於某種原因)嘗試訪問URL:

/debugattach.aspx

如果你有一個重寫規則,重定向(或以其他方式捕獲),比如.aspx文件,在其他地方,那么你將得到這個錯誤。 解決方案是將此部分添加到web.config<system.webServer>/<rewrite>/<rules>部分的開頭:

<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true">
    <match url="^debugattach\.aspx" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="None" />
</rule>

這將確保捕獲這一個特定請求,什么都不做,最重要的是,停止執行,這樣就不會運行任何其他規則。 這是一個強大的解決方案,因此請隨意將其保存在配置文件中以進行生產。

為了其他人的利益,在我的情況下,我已將應用程序池配置為使用我的Windows憑據以訪問網絡資源共享。 自從調試解決方案以來,我已經重置了我的Windows密碼。 更改了存儲在app pool和bada bing中的密碼。

如果設置了ApplicationPool標識,則自定義帳戶和計算機密碼已更改,您必須更新密碼

對於我的場景,它是對web.config中的httpErrors部分的更改,設置如下:

<httpErrors mode="Custom"> 

導致“無法在Web服務器上啟動調試”問題。 將其重新設置為“DetailedLocalOnly”的上一個值可解決問題。 深入挖掘我發現實際上只是401錯誤設置導致了這個問題:

<httpErrors mode="Custom"> 
    <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" />
<httpErrors mode="Custom"> 

注釋掉401錯誤行也解決了這個問題,我繼續使用它,因為我可以保持自定義錯誤處理並從調試開始。

我仍然不知道為什么會這樣。

Plase檢查應用程序池。 如果它是停止的。 重啟它。

嘗試調試DNN(Dot Net Nuke)模塊時遇到同樣的問題。 原來你需要編譯debug =“true”:

<compilation debug="true" strict="false" targetFramework="4.0"> 

在你的web.config中。 默認情況下,它在DNN中為false。 原始來源: http//www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts

實現重寫模塊后,我遇到了完全相同的問題。

如果我從web.config文件中刪除重寫條目,則調試工作正常。

為了解決這個問題,我只是在調試時注釋掉重寫標記,就像這樣......

<rewrite>
    <rules>
        <rule name="LowerCaseRule_1" stopProcessing="true">
            <match url="[A-Z]" ignoreCase="false" />
            <action type="Redirect" url="{ToLower:{URL}}" />
        </rule>
        <rule name="RedirectDefault.aspx_1" stopProcessing="true">
            <match url="(.*)default.aspx" />
            <action type="Redirect" url="{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

然后我在調試后刪除了注釋。

必須是visual studio 2010中的錯誤。

我在IIS中停止了應用程序池后出現了同樣的錯誤。 啟動App Pool后,問題得以解決。

最后為我的單一解決方案解決了這個問題。 解決方案中的兩個項目被設置為IIS中的站點。 我進入並在身份驗證下為這兩個項目啟用了ASP.Net Impersonation ...和VIOLA! 最后,沒有更多這個惱人的錯誤!

以下是我為清除您注意到的錯誤所做的工作。 在文件系統中找到應用程序的Web文件夾,轉到屬性=>安全性單擊高級按鈕,然后單擊所有者選項卡,單擊編輯按鈕並更改文件夾的所有者(具有正確的權限)並選中“ Repalce”所有者在子容器和對象 “復選框。 單擊“ 應用 ”,然后我在業務(能夠調試)。

希望這適用於其他人。

如果App Pool無法重新啟動或只是不想重新啟動,請驗證Windows是否在ASP.NET v4.0或其他應用程序池上進行了最新更新。 這就是我的情況。 我只是重新啟動了我的電腦,然后重新啟動了ASP.NET v4.0 App Pool,一切都恢復了!

我在VS 2012中收到相同的錯誤消息,但未以管理員身份運行。 當我以管理員身份運行應用程序時,我得到了一個不同的,稍微有用的消息(我能夠弄清楚)。 HTH

打開所有IIS窗口功能時,與Windows 10有同樣的問題。 切換到Windows 8.1並再次遇到問題。 根位於網站名稱“ http://MySite.local ”(與OS版本無關)。

解決方案很簡單

  • 編輯%SystemRoot%\\System32\\drivers\\etc\\ hosts文件

  • 使用ip綁定添加行: 127.0.0.1 MySite.local

擔,

除了Aaron的建議,請嘗試以下方法

  • 檢查IIS網站中是否選擇了集成Windows身份驗證
  • 你可以使用Cassini而不是IIS進行調試嗎?

我今天出現了這個錯誤,因為代碼中存在缺陷,導致IIS被請求充斥。 這基本上鎖定了IIS,因此當我嘗試調試時,它'超時'試圖啟動調試器。 我只是重新啟動IIS,花了幾分鍾,它解決了這個問題。

我確實希望這個錯誤不那么通用,似乎有幾種不同的方法可以產生它。

我在Windows 8.1上的Visual Studio 2012和2013中遇到了同樣的問題。 對我來說,修復是使用“打開或關閉Windows功能”將Windows身份驗證添加到IIS

打開或關閉Windows功能截圖

確保您網站的應用程序池使用正確的框架版本 我在ASP.Net 2005站點上遇到“無法啟動調試”錯誤。 它錯誤地使用了Windows 7上的DefaultAppPool(我認為它使用的是.Net Framework 4)。 我基於.Net Framework 2創建了一個新的應用程序池,並將其分配給問題網站。 之后調試工作正常。

檢查IIS上的網站是否停止。

我修好了我的網站運行。 :d

我有同樣的問題,發現它是由於我在結束標記之后錯誤地輸入了我的Web.config的字符而引起的。 我的Web.config在最后看起來像這樣: </section>h 結束標記后,“h”是一個額外的字符。

我遇到了這個問題,最終意識到我的ASP.net沒有正確注冊。 在Visual Studio之前安裝IIS服務器時可能會發生這種情況。 要解決此問題,請使用命令aspnet_regiis -i可以在鏈接中找到更多信息

有同樣的問題。 如果您在IIS上安裝了SSL證書,並且您嘗試從Visual Studio調試它,則需要在IIS上設置應用程序以忽略證書。

像這樣刪除sting:web.config中的targetFramework =“4.0”或將AppPool更改為適當的框架版本。

卸載IIS UrlScan Extension解決了我的問題。

我遇到了同樣的問題,但它是在Visual工作室自己的Web開發服務器而不是IIS。解決方法是取消選中項目屬性下的Web選項卡中的選項,將服務器設置應用於所有用戶(存儲在項目文件中)。它將節省一些寶貴的時間。

我有同樣的問題。 以上所有答案對我都不起作用。 解決方案是手動刪除bin和obj文件夾。

我也發現了這個問題,但它與@Kirk解釋和URL重寫最相似。

在我的情況下,有人已將此更改簽入了MVC項目的web.config文件:

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".aspx" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

由於Web服務器上不允許使用.aspx文件擴展名,因此拒絕了/debugattach.aspx URL,導致調試器無法運行。 刪除此配置后,它再次起作用。

我在Visual Studio中創建應用程序時遇到了同樣的問題,然后在屬性中創建了用於本地IIS的虛擬目錄。 如果有人有這個錯誤,那是因為VS在錯誤的AppPool下創建應用程序,即在AppPool下不適合您的需求。
如果是這種情況,請轉到IIS管理器,選擇應用程序,轉到基本設置並更改AppPool for App,您就可以開始使用了。

我最近得到了同樣的錯誤,在我的情況下,結果發現有重復的MIME類型。 我最近添加了兩個最初未顯示在列表中的內容。 IIS允許我添加它們,只有當我決定再次檢查站點的MIME類型作為我的診斷過程的一部分時,我在IIS中也出現了錯誤。 它在web.config中引用了重復項。 一旦我回到web.config文件,我注意到添加了一個名為的新部分,其中包括最近添加的兩個MIME類型。 刪除那部分,生活又好了! 希望這可以幫助那些沒有設法解決任何其他建議的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM