繁体   English   中英

“无法找到或打开另一个解决方案中找到的类库的PDB文件”

[英]“Cannot find or open the PDB file” of a class library found in another solution

问题:

SolutionA (MVC解决方案)无法加载SolutionB (业务逻辑类库)中的某个类库的PDB文件。 (它加载其他类库pdbs就好了)

环境:

  • .Net 4.0
  • MVC
  • C#
  • Visual Studio 2012
  • 在类库的Debug / bin文件夹中找到PDB文件
  • 在引用此类库的所有项目(Debug / bin)中找到PDB文件。
  • PDB创建时间与编译时间相同

本地路径:

• C:\MyPath\WK_SOLUTIONA\Dev_BF\SolutionA
• C:\MyPath\WK_SOLUTIONB\Prod\SolutionB

如果有SolutionA到SolutionB的引用(即dll引用),则设置引用路径(Properties> Reference Paths)

符号加载信息:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\launcher_devbf\0a01d364\380351a5\assembly\dl3\9ae300b0\47b07c94_5317cf01\SolutionBClassLibrary.pdb: Cannot find or open the PDB file.
b:\23\575\src\SolutionBClassLibrary \obj\Release\SolutionBClassLibrary.pdb: Cannot find or open the PDB file.
C:\Windows\SolutionBClassLibrary.pdb: Cannot find or open the PDB file.
C:\Windows\symbols\dll\SolutionBClassLibrary.pdb: Cannot find or open the PDB file.
C:\Windows\dll\SolutionBClassLibrary.pdb: Cannot find or open the PDB file.
C:\Users\R9962~1.SCH\AppData\Local\Temp\SymbolCache\SolutionBClassLibrary.pdb\4c48672e09774c67b9f8001ecafacbd71\SolutionBClassLibrary.pdb: Cannot find or open the PDB file.
C:\Users\R9962~1.SCH\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols\SolutionBClassLibrary.pdb\4c48672e09774c67b9f8001ecafacbd71\SolutionBClassLibrary.pdb: Cannot find or open the PDB file.
C:\MyPath\WK_SOLUTIONB\Prod\SolutionB\bin\Debug\SolutionBClassLibrary.pdb: PDB does not match image.
SYMSRV:  C:\Users\R9962~1.SCH\AppData\Local\Temp\SymbolCache\SolutionBClassLibrary.pdb\4C48672E09774C67B9F8001ECAFACBD71\SolutionBClassLibrary.pdb not found
 
 
SYMSRV:  http://referencesource.microsoft.com/symbols/SolutionBClassLibrary.pdb/4C48672E09774C67B9F8001ECAFACBD71/SolutionBClassLibrary.pdb not found
 
 
http://referencesource.microsoft.com/symbols: Symbols not found on symbol server.

我尝试过的:

  • 确保清洁和重建的两个解决方案
  • 清除符号缓存并手动删除以下内容:C:\\ Windows \\ Microsoft.NET \\ Framework64 \\ v4.0.30319 \\ Temporary ASP.NET Files
  • 手动将pdb文件插入符号缓存C:\\ Windows \\ Microsoft.NET \\ Framework64 \\ v4.0.30319 \\ Temporary ASP.NET File
  • 将符号路径“加载符号”指向SolutionBClassLibrary的调试文件夹。 结果:“在此文件夹中找不到匹配的符号文件”
  • 工具>选项>调试>设置“启用.NET Framework源步进”(适用于两种解决方案)
  • 删除了IIS虚拟目录并重新创建。
  • SoltionA调试到SolutionB
  • SolutionA开始调试并继续在SolutionB上调试。 每当这个特定的类库被命中时,它都会忽略我的更改。

我找到了一种解决方法来达到预期的效果。 基本上手动覆盖那些引用我的更改的dll。 由于这是一个当地环境,因此没有任何影响。

然而,正如我所说,这是一种workaround并且首先使用参考路径。

编辑:显然现在我的所有更改都被跟踪,因为我已经完成了这项工作。 所以这确实是正确答案!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM