Search code examples
c#iisvisual-studio-2013pdb-files

Symbol status showing "Skipped Loading" for dll in modules window?


I've recently upgraded some solution(s) to Visual studio 2013. All went OK apart from one which now generates the:

Symbol for the modules 'name' were not loaded.

...error every time I run it.

When I look in the modules debug window I can see against the dll (It's a web service dll)

Name           Path                       Optimised    User Code    Symbol Status
dllName.dll    Tempoary ASP.Net...etc.    Yes          No           Skipped Loading...

If I look in the \bin I see the dll and it's coresponding .pdb file.

Checking the build menu for the project I can see Debug Info: full.

Cut a long story short everything looks fine to me except that it's not loading any symbols.

Any idea what I'm missing?

Update

It looks like if I run my solution though IIS express the issue goes away. But running though IIS (8) I still have this problem.


Solution

  • After painfully comparing two project files, one that worked and one that didn't I noticed that the proj that worked had:

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
      <DebugSymbols>true</DebugSymbols>
      <DebugType>full</DebugType>
    
      <!-- This works -->
         <Optimize>false</Optimize>
      <!----------------------->
    
      <OutputPath>bin\</OutputPath>
      <DefineConstants>DEBUG;TRACE</DefineConstants>
      <ErrorReport>prompt</ErrorReport>
      <WarningLevel>4</WarningLevel>
    </PropertyGroup>
    

    Where as my one had

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
      <DebugSymbols>true</DebugSymbols>
      <DebugType>full</DebugType>
    
      <!-- This DOESN'T -->
         <Optimize>true</Optimize>
      <!----------------------->
    
      <OutputPath>bin\</OutputPath>
      <DefineConstants>DEBUG;TRACE</DefineConstants>
      <ErrorReport>prompt</ErrorReport>
      <WarningLevel>4</WarningLevel>
    
    </PropertyGroup>
    

    By setting the <Optimize> property to false all issues went away.

    This answer also seems relevant as the .csproj.user file can be out of sync, I deleted it.