简体   繁体   中英

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

Issue:

SolutionA (MVC Solution) cannot load the PDB file of one of the class libraries in SolutionB (Business Logic Class Libraries). (It loads the other class library pdbs just fine)

Environment:

  • .Net 4.0
  • MVC
  • C#
  • Visual Studio 2012
  • PDB file found in class library's Debug/bin folder
  • PDB file found in all projects(Debug/bin) that reference this class library.
  • PDB Creation time is the same as Compile time

Local Paths:

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

Where there are references of SolutionA to SolutionB (ie dll reference) a reference path was set (Properties > Reference Paths)

Symbol Load Information:

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.

What I have tried:

  • Made sure both solutions where cleaned and rebuilt
  • Cleared symbols cache and manually deleted the contents of the following: C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\Temporary ASP.NET Files
  • Manually inserted the pdb file in the symbols cache C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\Temporary ASP.NET File
  • Point symbols path "Load Symbols" to the debug folder of the SolutionBClassLibrary. Result: "A matching symbol file was not found in this folder"
  • Tools > Options > Debugging > set "Enable .NET Framework source stepping" (for both solutions)
  • Deleted the IIS virtual directory and recreated it.
  • Debug from the SoltionA into SolutionB
  • Started debugging from SolutionA and continued debugging on SolutionB . Whenever this specific class library is hit it ignores my changes.

I found a workaround to achieve the desired result. Basically manually overwritten the dlls that where referenced with the ones that had my changes. Since this is a local environment there are no repercussions.

This is however as I said, a workaround and goes outside the point of using reference paths in the first place.

Edit: Apparently now all my changes are being tracked since I've done this. So this was indeed the correct answer!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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