当我尝试构建项目时,它会返回以下错误:
错误1创建调试信息文件时出现意外错误'D:\ Documents \ Lance \ Documents \ School \ Capstone \ GG \ GG \ obj \ Debug \ GG.PDB' - ''GG
由于突然的电源问题(可能),我最近不幸地让我的PC重新启动。在此问题开始之前,这是在项目构建期间。
当PC重新上线时,我注意到在突然断电之前我对程序所做的更改没有保存。并且,它将不再构建。
答案 0 :(得分:39)
这对我有用:
答案 1 :(得分:22)
根据要求,我的评论作为答案:
尝试清理解决方案(在VS的Build菜单下)。
由于构建在电源故障中途中断,因此文件未被锁定 - 构建系统可能处于不一致状态(Clean Solution应该修复)。
答案 2 :(得分:9)
这种情况偶尔发生在我的环境中,问题可能与PDB文件被锁定有关(即,我猜你的帖子中缺少错误消息的最后一部分)。这就是它在我的机器上的样子:
Unexpected error creating debug information file 'c:\dir\obj\file.PDB' -- 'c:\dir\obj\file.PDB: The process cannot access the file because it is being used by another process.'
在我的情况下,清理解决方案并不能解决问题,重新启动是一种过度杀伤,所以我通常只是复制pdb文件的全名(来自错误)并在命令行上执行:
ren c:\dir\obj\file.PDB *.old
答案 3 :(得分:7)
这对我有用:关闭Visual Studio并使用 以管理员身份运行 打开visual studio,问题就解决了。
答案 4 :(得分:2)
无需重启或删除文件。 只需重命名文件即可。如果您尝试删除该文件,则会出错。更好的只是重命名它&它会工作。 :)
答案 5 :(得分:1)
如果您在使用Web应用程序时出现此问题,则可能会在您使用DebugDiag的异常情况下发生这种情况,并创建了一个侦听项目应用程序池的规则。删除规则可防止此问题再次发生。
例如,如果您使用these instructions来诊断IIS中的堆栈溢出异常,则可能会发生这种情况。
答案 6 :(得分:1)
如果您正在使用两个用户的VM,请确保其他用户在调试时没有附加所有进程。
答案 7 :(得分:0)
重启VS的缺点:
解决方案: 给你的大会一个新名字。没有利弊。除非您准备好进行最终部署,否则必须将程序集重命名为其原始名称。而且我认为任何人都可以找到如何让它最后一次工作:)
答案 8 :(得分:0)
有时,\ bin文件夹中的所有文件都由正在运行的进程使用,即IIS上的网站或Windows服务在构建后自动运行。在这种情况下,关闭服务或停止特定站点的IIS应用程序池也应该有帮助(就像我的情况一样)
答案 9 :(得分:0)
有时我会为(非常)不同的目标编译同一个项目时遇到这个问题:
我的猜测是,编译器使用bin和/或obj目录,但输出不兼容(当然)。 VS的解决方案清理确实有帮助。
通常我们为输出指定不同的dll名称(例如mylib.dll,mylib35.dll),这些项目从未发生过这个问题。