11

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.

Liam
  • 25,247
  • 27
  • 110
  • 174

1 Answers1

22

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>
    **<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>
    **<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.

Liam
  • 25,247
  • 27
  • 110
  • 174
  • 2
    I had the same problems when I run azure project in emulator and your suggestion to delete `.csproj.user` worked perfectly. – pvasek Mar 12 '15 at 08:13
  • 2
    You can still have this problem if you do not have an `optimize` element at all; apparently it defaults to true. Once I added `false` to my csproj, my symbols started properly loading. – Ed Schwehm Feb 07 '18 at 19:37