断点不会在Blazor Webassembly项目,ASP.NET Core 3.1,

时间:2019-11-14 10:42:14

标签: c# asp.net-core visual-studio-2019 blazor blazor-client-side

断点不会在ASP.NET Core 3.1 Blazor Webassembly项目中发生。

我有一个在本地运行的Blazor Webassembly项目的解决方案。

在.cs文件中放置断点时,它说:

  

“该断点当前不会被命中。Startup.cs的副本是   在blazor-devserver.dll中找到,但是当前的源代码是   与blazor-devserver.dll内置的版本不同。

     

要允许点击此断点,请单击“设置...”按钮   出现,然后单击“位置”,“允许将源代码   与原来的不同。” ...”

这对我来说似乎很奇怪,因为我没有部署,我只是在Visual Studio中按了F5,所以我没有 了解代码如何不同。

将断点放在一个.razor文件中,它说:

  

“该断点当前不会被命中。没有符号被加载   该文档”

在“模块”窗口中,已为所有条目加载符号。

直到最近,它都运行良好。 我唯一要做的就是安装Microsoft Code Anlysis 2019(再次将其删除)。

5 个答案:

答案 0 :(得分:2)

Blazor Webassembly仍处于预览阶段,因此您无法直接调试cs文件。仅通过Chrome支持调试。详细信息记录在here中。

答案 1 :(得分:2)

您现在可以使用 Visual Studio 2019的预览版调试Blazor WebAssembly。您可以查看详细信息here

答案 2 :(得分:0)

我知道这不能直接回答这个问题,但这只是在Google上弹出的问题。调试时,我无法为blazor客户端(托管asp.net内核)加载符号。原来,我在asp.net核心服务器应用程序的launchSettings.json中缺少一行。

"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"

希望这会对某人有所帮助。

答案 3 :(得分:0)

还在所有配置文件中使用“ inspectUri”断点仍然不会被Razor组件击中。我曾作为解决方法在启动设置中设置“ sslPort”:0,但现在无法使用它,否则无法登录Blazor Webassembly项目。 我正在使用托管的Blazor WebAssembly应用程序进行工作,该应用程序已配置为使用身份验证的HTTPS。

答案 4 :(得分:0)

我发现将 Windows 设置为使用 Edge 作为默认浏览器并配置项目以启动浏览器,允许 Visual Studio 配置并连接到 Edge 浏览会话。

  • 手动启动 Edge 无效。
  • 启动 Edge 并按 Shift+Alt+D 不起作用。
  • 使用命令行启动 Edge "msedge --remote-debugging-port=9222 --user-data-dir="C:\Users\MyUserProfile\AppData\Local\Temp\blazor-edge-debug" -- no-first-run https://localhost:12345/" 不起作用。
  • 将防火墙配置为接受 TCP 端口 9222 上的传入连接不起作用。

可以在 this article 找到设置不同默认浏览器的替代方法。这与将 Edge 设置为默认浏览器一样有效。

我认为同样的方法可以用于 Chrome,但我还没有尝试过。