Blazor WASM没有达到断点

时间:2020-04-27 22:12:52

标签: blazor blazor-client-side

我有一个带有第5版程序集的Blazor WASM项目,并尝试根据本文进行调试:https://docs.microsoft.com/en-us/aspnet/core/blazor/debug?view=aspnetcore-3.1

为此,我确保更新了所有程序集引用并调整了启动设置。后者现在看起来像这样:

{
  "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"
      }
    }
  }
}

这些也是我在WASM项目中的引用:

<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" />

为了进行测试,我从默认项目中复制了“ Counter”页面。但是,当我按F5键调试IncrementCount方法中的断点时,它不会变成红色。 我在一个新创建的默认项目中进行了测试,并且该项目可以正常工作,因此我按Visual Studio Preview,Edge和.net core进行了正确的版本。

我注意到的是开发控制台中的此警告,该警告仅出现在我现有的项目中,而不出现在新创建的默认项目中:

DevTools无法加载SourceMap:无法加载chrome-extension://ndcileolkflehcjpmjnfbnaibdcgglog/include.preload.js.map的内容:HTTP错误:状态代码404,net :: ERR_UNKNOWN_URL_SCHEME

我是否还需要添加或调整其他内容才能使其正常工作?在上面的文章中,据我所知,找不到任何东西。

4 个答案:

答案 0 :(得分:2)

这可能对某人有所帮助。就我而言,我删除了解决方案的隐藏 .vs 文件夹,断点再次起作用。此外,这还解决了 Chrome 调试不再起作用的问题。

答案 1 :(得分:1)

这是Blazor项目目前的已知问题。调试器的启动/调试速度比项目程序集慢,并且没有时间“查看​​”程序集。在他们解决此问题之前,这是我的解决方法。我在Program.cs中添加了一个延迟,以便在项目以调试模式启动时,它使调试器有时间正确连接。我用了5000毫秒,但如果您的计算机比我的计算机慢,则可能需要增加此值。

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

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

            (...)
        }
    }

答案 2 :(得分:0)

几天前我发生了类似的事情。

我采取的步骤如下:

  • 编辑调试配置文件。就我而言,我编辑了端口并删除了https协议选项。
  • 编译,并检查调试点是否再次正常工作。
  • 编辑调试配置文件以返回到初始配置。我没有撤消更改,而是再次手动进行了编辑

答案 3 :(得分:0)

如果之前的方法不起作用,请尝试:

  1. 从最佳答案中实现 DebugDelay。
  2. 用记事本打开[你的项目]\Client\Properties\launchSettings.json
  3. 在 iisSettings.. "applicationUrl": "http://localhost:50454" 下,复制本地主机 .eg。 http://localhost:50454
  4. 在 Visual Studio IDE 中,调试,[我的应用].server.debug* 属性/网络服务器设置/应用 URL。粘贴到剪贴板中。

不要问我为什么它有效,但它确实有效,烦人的“未绑定断点不会被命中”消失了。