Repository navigation
Using the C# Debugger shows different Views than when using dotnet run #9554
Description
Environment data
.NET SDK:
Version: 10.0.300
Commit: caa81fa497
Workload version: 10.0.300-manifests.b47d7e23
MSBuild version: 18.6.3+caa81fa49
Runtime Environment:
OS Name: org.freedesktop.platform
OS Version: 25.08
OS Platform: Linux
RID: linux-x64
Base Path: /usr/lib/sdk/dotnet10/lib/sdk/10.0.300/
.NET workloads installed:
There are no installed workloads to display.
Configured to use workload sets when installing new manifests.
No workload sets are installed. Run "dotnet workload restore" to install a workload set.
Host:
Version: 10.0.8
Architecture: x64
Commit: 94ea82652c
.NET SDKs installed:
10.0.300 [/usr/lib/sdk/dotnet10/lib/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 10.0.8 [/usr/lib/sdk/dotnet10/lib/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 10.0.8 [/usr/lib/sdk/dotnet10/lib/shared/Microsoft.NETCore.App]
Steps to reproduce
- Project Setup
- Create a new MVC Project with Authentication enabled. Choose Individual Accounts for type.
- Scaffold the Register.cshtml page for a custom User class that inherits from IdentityUser by using the steps described in the official documentation for scaffolding Account pages.
- Make sure this User class has additional fields like First Name and Last Name
- Open the Register.cshtml page and add the additional fields for First Name and Last Name
- Open Register.cshtml.cs and expand Input to include the new fields.
- Set the First Name and Last Name fields in the custom User class in OnPostAsync in Register.cshtml.cs
- Debugger Setup
- Create the launch.json file in .vscode
- Use the default .NET Core Launch (Web) setup
- Change the "program" path to the .dll file.
Debugging
- Debug the program, the View Index cannot be found.
- Stop the Debugger and update program.cs by adding RazorRuntimeCompilation to the Services (needs NuGet Package)
- Debug the Program again. Views work now. Navigate to the Register page.
- The View is still the standard Register View and not the scaffolded version with the additional fields.
- Stop the debugger and open the terminal. Type
dotnet runand press enter - Navigate to the Register page and notice it now displays the correct View with the fields for First Name and Last Name.
Expected behavior
- Using both
dotnet runand the Debugger should show the same results in Views
Actual behavior
- Running the app with the Debugger shows different Views. The first image is using the Debugger. The second is when using
dotnet run
Additional context
- Similar issues occur when trying to use .resx files for translations. Using a ViewLocalizer in a Razor page will only display the Values when using
dotnet run. With the debugger, it simply displays the Keys as the .resx files appear to not be loaded / compiled when using the debugger. - This version of VS Code runs in a container, but it has full access to all files outside the container and the problem persists.
Activity
mennovanderheijden-vdab commentedon Aug 1, 2026
Now two weeks later and this is still a major issue preventing proper debugging of my development. The C# VSCode debugger continues to use the standard, non-scaffolded Login page. Breakpoints are not being triggered anywhere because it does not use the custom cshtml page or associated code. Trying to create a user of my custom type and debugging it is not possible because the standard page is missing fields needed by my custom type and using the standard page sends corrupted data to my Database.
Stack Overflow had no answers. Clankers had no answers either (of course). This issue seems to be entirely unique to me because weeks of searching has yielded nobody with the same issue.