none
ASP .Net assembly location and debugging RRS feed

  • Question

  • I've some ASP .Net 4.0 applications that I can normally debug quite happily using the following steps:

    1. Copy the assembly dll and pdb files to the application's bin directory
    2. Attach to the appropriate w3wp.exe process

    Normally, the debug symbols load fine, but on some occasions they don't, and if I look in the output window in VS 2010, I see the assembly is loaded from a location like C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\testportal\dfe6d95c\b8148b8e\assembly\dl3\79e1bde8\d14f964a_0e51cc01. If I copy the pdb file into that folder, the symbols are loaded, but this adds a deployment step.

    I've so far failed to determine what factor(s) influences whether the assembly is loaded from assembly\dl3, or not. Can anybody explain the rules ? My best guess is that it may be something to do with shadow copying, but I've failed to get consistent behaviour

    For reference, the main environmental factors are:

    • IIS 7 running on a Windows Server 2008 64 machine
    • Using the VS Remote Debugger, with Visual Studio 2010 running on Windows 7
    • ASP .Net application running in a dedicated application pool, running in the Classic pipiline mode, using a custom account identity
    • Assemblies built for AnyCPU

    Microsoft CRM MVP - http://mscrmuk.blogspot.com  http://www.excitation.co.uk
    Tuesday, August 2, 2011 2:10 PM

Answers

  • You can setup a symbol path in VS2010, and the put pdb file into the symbol folder, if VS cannot find matched symbol under from "assembly\dl3" folder, VS will search the symbol path you configured.

     

    Not sure why ASP.NET application always looking Temporary ASP.NET Files folder, but ASP.NET experts may provide more hint, you can find them at http://forums.asp.net/;


    Eric Yang [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by eryang Friday, August 12, 2011 4:03 AM
    Wednesday, August 3, 2011 3:25 AM

All replies

  • You can setup a symbol path in VS2010, and the put pdb file into the symbol folder, if VS cannot find matched symbol under from "assembly\dl3" folder, VS will search the symbol path you configured.

     

    Not sure why ASP.NET application always looking Temporary ASP.NET Files folder, but ASP.NET experts may provide more hint, you can find them at http://forums.asp.net/;


    Eric Yang [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by eryang Friday, August 12, 2011 4:03 AM
    Wednesday, August 3, 2011 3:25 AM
  • The same thing, the only difference is  - i have 32 bit environments, 2008 Datacenter server, service pack 2.

    Manually load symbols - does not help, no "setup symbols path" VS definitions does not help, the only thing, as you mentioned, manually copy .PDB to corresponding folder under "Temporary ASP.NET Files".

    There is still opened bug on the issue somewhere, without any proper solution

    https://connect.microsoft.com/VisualStudio/feedback/details/563707/

    Awfull thing, epic fail

     

    Wednesday, January 25, 2012 2:13 PM