Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建调试信息文件GG.PDB“时出现意外错误”--&引用;_C#_.net_Visual Studio_Debugging - Fatal编程技术网

C# 创建调试信息文件GG.PDB“时出现意外错误”--&引用;

C# 创建调试信息文件GG.PDB“时出现意外错误”--&引用;,c#,.net,visual-studio,debugging,C#,.net,Visual Studio,Debugging,当我尝试构建项目时,它返回以下错误: 错误1创建调试信息文件“D:\Documents\Lance\Documents\School\Capstone\GG\GG\obj\debug\GG.PDB”时出现意外错误--“GG” 最近,由于突然出现电源问题(可能),我的电脑不幸重启。这是在项目建设期间,在这个问题开始之前 当电脑重新联机时,我注意到在突然断电之前我对程序所做的更改没有保存。而且,它不会再建了。这对我很有用: 关闭VS.NET 在Windows资源管理器中浏览到项目 删除/obj/文件

当我尝试构建项目时,它返回以下错误:

错误1创建调试信息文件“D:\Documents\Lance\Documents\School\Capstone\GG\GG\obj\debug\GG.PDB”时出现意外错误--“GG”

最近,由于突然出现电源问题(可能),我的电脑不幸重启。这是在项目建设期间,在这个问题开始之前

当电脑重新联机时,我注意到在突然断电之前我对程序所做的更改没有保存。而且,它不会再建了。

这对我很有用:

  • 关闭VS.NET
  • 在Windows资源管理器中浏览到项目
  • 删除/obj/文件夹
  • 从/bin中删除项目输出(.dll和.pdb)(不确定是否需要此步骤)
  • 不会造成伤害,但可能会有所帮助:从解决方案中存在问题的任何其他project/bin文件夹中删除项目输出(我不需要)
  • 重新启动VS.NET
  • 重建

  • 在我的环境中,这种情况偶尔会发生,问题可能与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
    

    不需要重新启动或删除文件。
    只需重命名文件,这就足够了。如果您试图删除该文件,则会出现错误。最好重命名它&它会工作的。:)

    如果web应用程序存在此问题,则在您使用并创建了侦听项目应用程序池的规则的异常情况下,可能会发生此问题。删除规则可防止此问题再次出现


    例如,如果您按照以下步骤诊断IIS中的堆栈溢出异常,可能会发生这种情况。

    根据请求,我的评论作为答案:


    尝试清理解决方案(在VS的“构建”菜单下)


    由于您的电源故障中途中断了构建,因此文件没有被锁定——构建系统可能只是处于不一致的状态(干净的解决方案应该解决这个问题).

    这对我很有效:关闭Visual studio并使用以管理员身份运行打开Visual studio,问题就解决了。

    重新启动VS:

    • 剪贴板将丢失
    • 重做/撤消操作将丢失
    • 打开的文件将丢失
    • 你会放松节奏的
    解决方案:
    为程序集指定一个新名称。没有犯人。除非在准备进行最终部署时,您必须将程序集重命名回其原始名称。我认为任何人都可以找到最后一次使其工作的方法:)

    有时\bin文件夹中的所有文件都被正在运行的进程使用,即IIS或windows服务上的网站在生成后自动运行。在这种情况下,关闭服务或停止特定站点的IIS应用程序池也会有所帮助(如我的情况)

    如果您使用的是两个用户的VM,请确保另一个用户在调试时没有连接所有进程。

    有时我在为(非常)不同的目标编译同一项目时遇到此问题:

    • VS2008和net35
    • VS2017和net462
    • dotnetcore2.0
    我的猜测是,编译器使用bin和/或obj目录,但输出不兼容(当然)。从VS中清除的解决方案确实有帮助


    通常,我们为输出指定不同的dll名称(例如mylib.dll、mylib35.dll),这些项目上从未发生过此问题。

    尝试清理解决方案(在VS的“Build”菜单下)是否尝试过清理生成?是否使用版本控制系统?可能是锁定问题吗?@CharithJ,我没有使用任何版本控制系统(不管是什么,对不起,新家伙)。只是“香草”Visual Studio 2005。@卡梅隆,谢谢!这很有效。@Cameron,这些年来我都忘记问了-我只是注意到了,因为它有一个著名的问题徽章-我真诚地道歉,但你能把你的评论作为答案,这样我就可以接受吗?对我来说有效:)我断电了,我发现发生了错误,我删除了obj文件夹,然后重建它。这很有效,虽然我必须先执行
    iisreset
    才能执行步骤3,因为
    w3wp.exe
    保存在/obj/中的.pdb文件中,它第一次为我工作。。但它又一次倒下了。我不得不重新命名我的程序集名称以使其工作。无需重新启动VS.Yes。显然,文件并不重要。重命名文件就像一个符咒:)嗯,我想说的是,文件很重要,也就是说,如果你想调试。但它将在下一次构建时重新创建。