无法创建PDB文件

时间:2009-03-09 18:44:25

标签: vb.net visual-studio visual-studio-2005 pdb-files

出于某种原因,今天在我的一个项目中突然出现了这个错误。

  

错误1无法写入输出文件   'C:\ MyProject的\发布\ MyProject.pdb':   未指定的错误

如果我进入高级编译选项并将其更改为不生成和调试信息,我的项目编译正常。

我已尝试将Release文件夹的权限设置为对所有人都已满,因此我认为这不是权限问题。此外,我在日志文件中没有看到任何可以提供有关该问题的更多信息的内容。

有谁知道为什么这个错误会刚开始出现或者有办法解决它?

感谢。


更新:我重启了我的机器,重启了VS几次,甚至完全删除了发生问题的现有OBJ文件。它仍然给我同样的错误。

这是一个简单的项目解决方案,上周工作正常。 VS尝试构建PDB文件似乎是一个问题,因为我可以将它们从Release和Debug文件夹中删除而不会出现问题。当我尝试重建它们时,VS将开始创建文件(大小约为1.4MB),但我仍然得到错误。

16 个答案:

答案 0 :(得分:56)

在我的头上敲了一会儿,然后挖掘源代码控制以试图回到工作副本,结果发现PDB文件根本不是问题。当我试图找到该文件来创建调试信息时,有人删除了导致VS阻塞的源文件。

因此,如果有人遇到此错误而无法弄明白,请确保您没有错过任何地方的源文件。

如果VS告诉我文件丢失而不是仅告诉我创建PDB文件时出现未指定的错误,那将非常有用。

感谢。

答案 1 :(得分:35)

这是fix this issue的更好方法。

基本上关闭您的解决方案并重新打开它而不进行编译。检查错误列表,它将显示缺少哪些文件。

答案 2 :(得分:2)

这对我有用,其他答案在这里失败了:

Unable to write to output file [FileName] .pdb: Unspecified error Visual Studio

答案 3 :(得分:1)

也许还有其他东西打开文件,比如编辑器或Visual Studio的另一个副本?

尝试关闭并重新启动VS,甚至重新启动计算机以查看是否能解决问题。

答案 4 :(得分:1)

在最坏的情况下尝试重新启动Visual Studio。另一个可以尝试的好工具是来自SysInternals的Process Explorer,它允许您查看谁在处理您的PDB文件。通过这种方式,您可以准确地知道要杀死/重启的内容以访问该文件。

答案 5 :(得分:1)

如果您使用的内容中包含多个项目的解决方案,则可能会出现错误的编译顺序

答案 6 :(得分:1)

检查缺少的文件,这些文件将在带有感叹图标的visual studio中显示 这些文件可能不存在于项目源文件夹中。如果您不希望这些文件在visual studio中删除它们,请在源文件夹中添加这些文件。干净或刷新..

答案 7 :(得分:1)

我收到了同样的错误,最终成为需要更新的网络参考。更新所有Web引用后,问题仍然存在。最后,我添加了相同的Web引用作为相同的URL和名称,添加Web引用告诉我有一个相同名称的引用,并提供了一个选项,用最新信息更新它。这终于奏效了,项目再次运行。

答案 8 :(得分:1)

我想在典型的 Turn it off and on again 之上添加一些原因,以及这有用的原因。

Visual Studio在构建项目时可以缠绕在轴上,这样它就无法弄清楚它为什么缺少特定的依赖关系,它只知道它无法构建项目。

重建失败后,这是一条不合规定的错误消息:

Unhelpful Error

解决方案是:

  1. 关闭Visual Studio
  2. 打开Visual Studio
  3. 执行编译 - 查看错误列表以查找新的描述性错误:
  4. Helpful Error

    很多现有说明都缺少第三步,所以我认为这可能会有所帮助。

答案 9 :(得分:0)

原因几乎可以肯定是另一个进程挂在该文件的句柄上,以防止它被覆盖。不幸的是,VS经常是罪魁祸首。如果是这种情况,重启VS将解决问题。

答案 10 :(得分:0)

Visual Studio有时会对被锁定的文件感到有些“困惑”,特别是如果在之前的调试运行期间,正在调试的应用程序意外崩溃,Visual Studio意外崩溃,甚至有时甚至会停止调试。

通常,解决方案是关闭并重新打开Visual Studio。

答案 11 :(得分:0)

是的 - 绝对检查没有从VSS下拉的文件,如果那是您从中获取项目的地方。只需查找带惊叹号的文件即可。一旦项目中的所有文件都在本地,PDB就会生成无问题。

答案 12 :(得分:0)

我得到同样的错误。原来,“服务参考”文件夹已过期。我删除并再次添加服务引用,它开始工作。

答案 13 :(得分:0)

同样的错误发生在我身上,但它有不同的原因。有人删除了项目的文件,但没有更新项目文件;因此该项目正在寻找文件。该文件上方显示黄色警告图标。当我从项目中排除文件时,问题已得到解决。

答案 14 :(得分:0)

I'm on VS2005 and encountered this error when I opened a web project as a "Solution"--opened the .sln file--and hit build/rebuild. Once I closed the Solution and re-opened it as a "Project"--opened the .vbproj file--I got the specific missing source code errors when I compiled/recompiled. I made sure all the files were present and voila, it completed the build successfully!

答案 15 :(得分:0)

我在 VS2010 解决方案中遇到了这个问题,我尝试了上面所有已接受的答案,但仍然无法弄清为什么编译器找不到( Test.vb < / em>)文件。正如一些答案已经提到的那样, .pdb 文件不是实际错误。

错误是重新打开解决方案而不构建它之后出现在错误列表中的错误,即无法打开模块'C:\ Test \ Test.vb'。但是,重新打开解决方案对我不起作用。该错误提示即使我的本地副本中存在'Test.Vb'文件,也缺少'Test.vb'。那么为什么找不到它?

为此找到的解决方案是:

  1. 关闭解决方案,关闭 VS2010 ,然后在 VS2015 中重新打开解决方案。 VS2013 也许也可以,但是我还没有尝试过。
  2. 我在 VS2015 中构建了解决方案,该解决方案当然失败了,但是这次错误(特别是在“输出”窗口中,它显示了构建行,包括编译期间发生的错误)显示了完整的解决方案编译器试图定位的'Test.vb'文件的PATH。路径为 'C:\ Test \ .. \ .. \ Test.vb' ,表明在构建'Test.vbproj'项目,编译器在'C \ Test'文件夹中开始其构建,然后附加在 .sln .vb 文件的位置。 >是'.. \ .. \ Test.vb'的文件,以读取'Test.vb'文件并构建项目。只有它无法导航到'C:\ Test \ .. \ .. \ Test.vb'文件夹,其中'Test.vb'所在。

通过更正 .sln 文件中'Test.vb'的位置,它可以正常运行。