Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Blazor WASM doesn't hit breakpoint

I have a Blazor WASM Project with version 5 assemblies and tried to activate debugging according to this article: https://docs.microsoft.com/en-us/aspnet/core/blazor/debug?view=aspnetcore-3.1

For that I made sure I updated all the assembly references and adjusted the launchsettings. The latter looks like that now:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:62310",
      "sslPort": 44325
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "ApplySupportTool.Client": {
      "commandName": "Project",
      "launchBrowser": true,
      "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Also these are my references in the WASM Project:

<PackageReference Include="System.Net.Http.Json" Version="3.2.0-preview5.20210.3" />
<PackageReference Include="Microsoft.AspNetCore.Components.DataAnnotations.Validation" Version="3.2.0-preview2.20160.5" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.0-preview5.20216.8" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.0-preview5.20216.8" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="3.2.0-preview5.20216.8" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Runtime" Version="3.2.0-preview5.20216.1" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="3.2.0-preview5.20216.8" />

For testing I copied over the "Counter" page from the default project. But when I hit F5 to debug the breaking point in the IncrementCount method doesn't turn red. I tested in a new created default project and there it works, so I pressume Visual Studio Preview, Edge and .net core has the correct version.

What I noticed is this warning in the dev console which only appears in my existing project, but not in the new created default project:

DevTools failed to load SourceMap: Could not load content for chrome-extension://ndcileolkflehcjpmjnfbnaibdcgglog/include.preload.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME

Is there something other I have to add or adjust for this to work? In the article above I couldn't find anything as far as I can see.

like image 502
NPadrutt Avatar asked Apr 27 '20 22:04

NPadrutt


1 Answers

This is a known issue in Blazor projects at this time. The debugger launches slower/quicker than the project assembly and doesn't have time to "see" the assembly. Here is my fix until they solve this. I add a delay in Program.cs so that when the project launches in debug mode, it gives the debugger time to attach properly. I used 5000 ms but you may have to increase this value if your machine is slower than mine.

    public class Program
    {
        private static async Task DebugDelayAsync()
        {
#if DEBUG
            await Task.Delay(5000);
#endif
        }

        public static async Task Main(string[] args)
        {
            await DebugDelayAsync();

            (...)
        }
    }
like image 120
sw1337 Avatar answered Sep 21 '22 17:09

sw1337