创建调试信息时出错 – 代码无法编译

我正在使用VS 2008.当我在代码中进行更改并尝试编译时,我收到以下错误:

错误7创建调试信息文件“C:\ Documents and Settings \ jbezanson \ My Documents \ MyProjects \ DispatchBoard \ DispatchBoard \ obj \ Debug \ DispatchBoard.PDB’ – ‘C:\ Documents and Settings \ jbezanson \ My Documents \时出现意外错误MyProjects \ DispatchBoard \ DispatchBoard \ _ obj \ Debug \ DispatchBoard.pdb:进程无法访问该文件,因为它正由另一个进程使用。 ‘DispatchBoard

使用Process Explorer,它始终是锁定文件的devenv.exe 。 如果我在发布模式下运行,则不会发生这种情况。 它开始于2天前,当我启动一个WPF应用程序,从那时起,它发生在我工作的每个应用程序上。

我能从谷歌找到的唯一信息是指VS 2003中的一个错误。

其他人有这个问题吗? 我如何解决它? 每次我想编译时都不得不杀死文件句柄。

当我遇到锁定文件的问题时,我使用Unlocker 。 (如果你尝试过所有东西并且它不起作用,试试这个;)

如果链接断开,这里是一面镜子 。

如果您打开了多个VS实例,请关闭其他实例(除了您尝试编译的实例) – 这可能会解决问题。

你试过关闭VS,删除obj folder然后重启VS吗?

今天早上我遇到了同样的问题,并注意到我打开了另一个项目,该项目引用了一个无法编译或调试的项目。 我删除了引用(因为我实际上并不需要它)并且它很好。

唯一对我有用的是从我的Web.Config文件中的编译元素中删除optimizeCompilations =“true”属性。

编译时间可能会长一点,但效果很好。

我将我的解决方案的“StartUp Project”更改为项目而不参考锁定文件的项目。 这解决了我使用VS 2010 SP1的问题。

(Process Explorer称msvsmon.exe(由devenv.exe启动)锁定了pdb文件。更改启动项目后,进程msvsmon.exe和.vshost.exe消失,文件句柄也消失了。)

亚历克斯克拉克,谢谢你指点我正确的方向。

要避免该问题,只需打开项目属性,转到“调试”选项卡,取消选中“启用Visual Studio托管过程”

我今天遇到了这个问题。 在我的情况下,我刚从公司的源代码控制中获取数据,并在我尝试编译项目时立即遇到此问题。 问题最终是\ bin文件夹设置为只读。 为了解决这个问题,我只是让文件夹不是只读的。

我今天刚遇到同样的问题。 然后我意识到出了什么问题:我同时打开了几个Visual Studio窗口,其中一个窗口处于调试模式。

当我在那个停止调试模式时,问题解决了。

当你打开“一把VS窗户”时会发生这种情况。

右键单击包含调试.pdb的文件夹,然后取消选中文件夹只读属性,然后确定。 而已。

我通过将这些行添加为预构建事件来解决类似的问题:

 if exist "$(TargetPath).locked" del "$(TargetPath).locked" if exist "$(TargetPath)" move "$(TargetPath)" "$(TargetPath).locked" 

通过适当的修改,它可能会帮助您解决问题。

既然你说你在所有应用程序上都有它,那听起来就像是一个更全局的问题。 您可以尝试通过编写重新启动vs2008

devenv.exe / setup

编辑: 链接到命令行选项

这对我有用。 我做的是关闭我的visual studio并删除.suo文件,然后重新打开解决方案。 锁定现在应该消失了。 干杯。

老话题,但对我有用的东西。 我的解决方案中有2个项目,类库类型项目和Windows窗体项目。 windows表单项目引用了已编译的二进制文件而不是我的情况下的项目本身导致锁定。 更改对类库项目的引用后,它正常工作。

这适用于Visual Studio Express 2012 for Web中的Web项目:

  1. 按F5开始调试
  2. “你想要执行上一次成功的构建吗?” – 点击是
  3. 此时您可以尝试请求 – 不确定此步骤是否必要
  4. 点击停止按钮
  5. 重新编译成功

不需要重新启动或删除文件。删除将无法删除,您将收到错误消息。 只需重命名文件即可。 VS2010将为您创建另一个文件,因为它找不到原始文件。 🙂

我不时遇到同样的问题。 通常没有问题,但偶尔…这个特定的时间,这是不可能的。 我会关闭应用程序,即使这在大多数情况下都不起作用。 我看到这篇文章,一个人说他们在启动WPF应用程序之前没有任何问题。 我正在使用Windows 8“音乐”应用程序在后台播放音乐(电台)。 我有一个想法,那就是使用Visual Studio构建的Microsoft应用程序。 一旦我停止播放音乐,我从未遇到过错误。 如果您正在阅读此内容,请查看您是否正在运行任何Microsoft应用程序。

我也有同样的问题。 尝试了上面的所有建议没有运气。 我最终将构建配置从调试更改为发布,构建的解决方案……

从Cassini更改为IIS Express作为我的调试平台后,我开始出现此问题。

Cassini比IIS Express好得多,但不能正确支持Integrated管道。 IIS Express毫无希望。

这似乎是Visual Studio或IIS Express中的某种竞争条件。 它与锁定另一个项目的一个项目无关 – 锁只来自Web应用程序构建过程的活动。

无论如何,上述解决方案都不适合我。 Windows 8似乎不再支持Unlocker。 所以我尝试了LockHunter 。 我所做的是让LockHunter应用程序全天开放。 如果我收到关于某个文件被锁定的投诉,我会将文件路径复制并粘贴到LockHunter中,然后再试一次。 这通常可以解决问题,但有时需要几次尝试。