2009-10-13 62 views
1

前段時間我問了一個類似的問題Error Creating Debug Information - Code Won't Compile但從未找到解決方案。Visual Studio在發佈模式下創建調試文件

這個問題似乎有所發展。現在Visual Studio正在創建一個PDB調試文件,即使應用程序處於發佈模式並且在Web.config中關閉了調試。此PDB文件被Visual Studio鎖定,有時也會被w3wp.exe鎖定。編譯失敗,說PDB文件正在被另一個進程使用(devenv.exe,w3wp.exe或兩者)。在使用Unlocker釋放所有鎖之前,我無法進行編譯。

首先,爲什麼VS在發佈模式下創建一個調試文件?

其次我該如何解決這個問題?我已經在VS上運行修復安裝,並重新註冊ASP.Net與IIS,但沒有幫助。我正在使用Windows Server 2003,VS 2008 Standard和IIS6。

當我在WPF應用程序上工作時,第一個症狀在一兩個星期前出現。直到今天將項目置於發佈模式之後,問題才消失。現在即使在發佈模式下也是如此。

任何想法?

回答

2

你試試這個:http://callicode.com/Homeltpagegt/tabid/38/EntryId/24/How-to-disable-pdb-generation-in-Visual-Studio-2008.aspx

您還可以添加自定義的構建後事件來釋放配置,以便在其他所有操作失敗時刪除該pdb文件。

+1

感謝您的鏈接完美工作。 – modernzombie 2009-10-13 19:33:57

+1

我打算投票回答此問題,因爲鏈接不起作用,並且鏈接的內容未在此答案中發佈。這就是爲什麼SO不讚賞鏈接作爲答案的原因之一。如果鏈接的內容,即實際的解決方案已發佈爲答案,那本來就不錯。 – Birey 2014-05-14 16:05:54

4

也爲發佈版本創建了PDB文件 - 這是通過設計,所以您仍然可以調試發行版二進制文件中的崩潰。

PDB文件當然不是運行所必需的。但是,如果它與正在運行的二進制文件位於同一目錄中,則IIS可能正在加載它(不確定IIS在這裏做什麼)。您可以將二進制文件複製到其他文件夾(減去PDB文件)以防止此問題。

相關問題