Visual Studio在发布模式下创建调试文件

时间:2009-10-13 18:53:52

标签: visual-studio visual-studio-2008 debugging

前一段时间我问了一个类似的问题Error Creating Debug Information - Code Won't Compile,但从未找到解决方案。

这个问题似乎有所改进。现在,即使应用程序处于发布模式并且在Web.config中关闭了调试,Visual Studio也会创建PDB调试文件。此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 个答案:

答案 0 :(得分:4)

PDB文件也是为发布版本创建的 - 这是设计使您仍然可以在发布二进制文件中调试崩溃。

运行时当然不需要PDB文件。但是,如果它与正在运行的二进制文件位于同一目录中,则IIS可能正在加载它(虽然不确定IIS在这里做了什么)。您可以将二进制文件复制到另一个文件夹(减去PDB文件)以防止出现此问题。

答案 1 :(得分:2)

您是否尝试过此操作:http://callicode.com/Homeltpagegt/tabid/38/EntryId/24/How-to-disable-pdb-generation-in-Visual-Studio-2008.aspx

您还可以添加自定义后期构建事件以释放配置,以便在其他所有内容都失败时删除pdb文件。