Blazor WASM 项目中的未绑定断点

der*_*ler 11 c# breakpoints webassembly blazor

我无法在 VS 2022 v17.3.6 中调试 WASM 项目以取消绑定断点。断点在不运行时看起来很好,但在运行项目时变成一个空圆圈,里面有警告标志。消息是 \xe2\x80\x9c当前不会命中断点。未绑定断点\xe2\x80\x9d。可以调试同一解决方案中的其他项目。团队中的三名开发人员有此问题,其中一名没有。现在所有的 VS 都使用相同版本。我们尝试了稍旧版本的VS 2022(v17.3.4),它也有这个问题。

\n

以下是我尝试使用其他帖子中的许多建议来解决问题的几种方法。

\n\n

ssm*_*ith 5

本例中的解决方案与 HTTPS 相关。出现该问题的开发人员(嗯,三分之二)在启动应用程序时遇到了一个持续存在的问题,即 ASPNET 弹出并要求安装开发证书。他们单击“是”,然后弹出窗口并显示未成功。这很烦人,但开发人员不必担心,因为它已经持续了数月甚至数年的烦恼。

我们尝试了很多方法来解决该问题,包括在无法调试的计算机上创建一个新的 Blazor WebAssembly 项目。我们能够调试全新的项目了!经过仔细检查,我们发现它是在没有经过身份验证的情况下创建的。使用个人用户帐户创建第二个项目表现出与生产应用程序相同的行为 - 无法绑定断点。在拆解非工作新项目(带有身份验证)中的代码时,我们最终查看了两个 launchSettings.json 文件,发现其中一个有两个应用程序 URL(https://localhost:XXXX;http://localhost :XXXY),而另一个只有 http URL。我们删除了 https URL,突然就可以调试项目了(恼人的证书弹出窗口自然消失了)。

我们在生产解决方案中进行了相同的更改,删除了 https 应用程序 url,并且我们能够再次进行调试。这修复了所有无法调试的三名团队成员。解决这个问题至少花费了开发人员十几个小时,并且在团队解决这个问题的同时,开发速度也减慢了几个日历周,所以希望这可以帮助其他遇到同样问题的人。