我試圖在運行應用程序後對web.config進行更改。它給出了以下錯誤。保存文件'web.config'需要您停止調試會話錯誤
保存文件'web.config'需要您停止調試會話。
您想現在停止調試嗎?
我使用Visual Studio 2012
我認爲它必須做一些事情在Visual Studio Enable Edit and Continue
功能。仍然不起作用。
我試圖在運行應用程序後對web.config進行更改。它給出了以下錯誤。保存文件'web.config'需要您停止調試會話錯誤
保存文件'web.config'需要您停止調試會話。
您想現在停止調試嗎?
我使用Visual Studio 2012
我認爲它必須做一些事情在Visual Studio Enable Edit and Continue
功能。仍然不起作用。
首先讓我指出一個簡短的事實。這裏有兩種不同類型的項目。
New WebSite
從Visual Studio菜單創建的WebSite
。WebApplication
其通過選擇New Project
和選擇ASP.Net Web Forms Appplication
現在原因指出這是出於創建是簡單的。
第一個選項允許您更改web.config而不執行應用程序重置(僅在調試時)。這是因爲WebSite
項目文件是在請求頁\文件時編譯的。因此,每次請求頁面時,都會編譯代碼。這也是爲什麼您可以在調試時更改代碼文件,而不會出現問題。
第二種類型是已編譯的應用程序。因此,所有代碼都是在運行時編譯的。在這種情況下,AppPool(IIS,IISExpress)監視對此文件的更改。如果這個文件發生了變化,應用程序必須重新啓動才能使更改生效。現在沒有辦法阻止這種行爲,因爲它是核心AppPool
的一部分。
下面是從MSDN的摘錄:
配置的變化使應用程序域
變遷對Web.config配置設置的重新啓動文件間接導致 應用程序域重新啓動。這種行爲通過設計發生。 可以選擇使用configSource屬性來引用外部 配置文件,這些配置文件在進行更改時不會導致重新啓動。 有關更多信息,請參見章節元素中通用屬性繼承的 中的configSource。
嘗試將配置文件更改爲 沒有權限編輯文件的用戶不會導致應用程序域重新啓動 。
完整的MSDN頁面。http://msdn.microsoft.com/en-us/library/ackhksh7.aspx
正如它在這裏指出的那樣,有一個方法。通過使用configSource
來引用您可能更改的外部配置文件,而不會出現問題。
我希望這會有所幫助。
事實上,我在使用Visual Studio 2013的Web應用程序上遇到了同樣的問題。在此之前,我使用VS2010,並沒有像您提到的那樣出現問題。
我發現不使用IIS快遞(解決辦法:(我想不出用IIS快遞)
1-您的項目只需右鍵點擊的方式,然後選擇屬性
2 - 在「Web」選項卡,選擇「本地IIS」下頁「服務器」一節
3 - 點擊「創建虛擬目錄」按鈕
中提琴,現在你已經在部署它。 iis與端口80.(因此,它將在您的「默認網站」部分運行inetmgr(IIS管理器),當然如果你沒有任何其他站點在端口80上運行)
如果你想要一個自定義的端口(即, 1234):
只是在IIS管理器中創建新的網站與1234端口,然後在VS2013編輯項目屬性您的網址爲:「http://localhost:1234/Your.Project.Name
」
如果任何人展示瞭如何編輯和使用web.config中繼續IIS Express,它也將不勝感激。
看看我剛剛添加的答案,如果這仍然是您的問題。我使用的是IIS Express,現在可以編輯web.config文件,因爲我禁用了「編輯並繼續」。 –
我只是想添加一些東西給janv8000提出的關於編輯和繼續的評論,因爲我剛剛遇到同樣的問題並設法對其進行排序。
爲了給出一些背景知識,我有一個現有的Web應用程序,在VS 2012中創建。當我在VS 2013中調試此項目時,我可以快速編輯web.config文件而無需重新啓動調試器。然後,我在VS 2013中創建了一個新的Web應用程序,並發現當我嘗試編輯web.config文件時,我在原始問題中收到了錯誤消息。
對此的解決方案是爲單個項目禁用編輯並繼續。我強調這一點的原因是因爲在工具 - >選項 - >編輯和繼續調試器中有一個全局調試器設置。這不是導致此問題的選項。
要解決這個問題:
@WeTTTT - 我們最近從VS2010切換到VS2012。我曾經可以在沒有此錯誤的情況下更改web.config。 – Krishna
我錯了。直接保存web.config時,VS2012和VS2010都能夠保持調試器連接狀態,正如我在IIS7上VS2010和VS2012上測試的那樣。您是否在使用IIS7/7.5/8或IIS Express進行調試? – tweray
@WeTTTT IIS 7.5 – Krishna