Skip to content

Using the C# Debugger shows different Views than when using dotnet run #9554

Open

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

  1. 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
  1. 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 run and 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 run and 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
Image Image

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

  1. mennovanderheijden-vdab commented on Aug 1, 2026

    @mennovanderheijden-vdab
    Author

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions