Force444
Force444

Reputation: 3381

Visual Studio 2012 - Breakpoints in Razor view files (".cshtml") not being loaded

When setting a break point in a razor view (".cshtml") the circle which is normally red turns to a red hollow circle when the debugger is started. When hovering over the hollow circle it displays the following:

The breakpoint will not currently be hit. No symbols have been loaded for this document

It's only razor view files, with normal ".cs" files there are no problems.

There are a lot of other questions which have proposed solutions for the same "error" message as above but none has actually worked. What I have tried:

Edit: I'm referring to the razor code of course, not html or even javascript. E.g. setting a break point in a foreach loop in razor

Edit2: I'm able to step through the razor code if I set a breakpoint in a controller, as the the debugger will go through the view before being "done". I'm still not able to actually set breakpoints in razor view files though. The hollow circle is still showing and it won't get hit.

Edit3: Killing the "IIS Working Process" which points to w3wp.exe temporary solved the problem. I was able to debug razor views again. A few hours later, the same problem again.

Upvotes: 6

Views: 12350

Answers (4)

Sturla
Sturla

Reputation: 3626

I found out that toggling the Build Action = Content / Compile (in the property window) on the .cshtml file (with a build in between) let me set break points again.

Upvotes: 3

Worthy7
Worthy7

Reputation: 1561

Remember that views are actually compiled when you request the page (by default).

This means when you set a breakpoint in a view:

  1. It shows the "No Symbols" error. This just means the view isn't compiled yet.
  2. It shows the breakpoint fine. This just means that it found SOME compiled version of the page. Like the LAST working version...

So basically its not meaningful information to look at what it says when you mouseover the breakpoint in a view (at least in this regard)

If you are trying to debug this page, then you have a problem. Look at what the debugger is outputting to your BROWSER instead and fix that first. I think we'll be surprised about how many people are going to facepalm at this.

Upvotes: 0

Jason Foglia
Jason Foglia

Reputation: 2531

This is what your looking for.

You need to compile your views at compile time not asp.net runtime.

https://stackoverflow.com/a/16052993/955831

Upvotes: 1

Marius George
Marius George

Reputation: 526

In your web.config file, check that debug="true" under .

Upvotes: -3

Related Questions