无法调试客户端blazor

时间:2020-08-24 15:03:57

标签: c# blazor-client-side blazor-webassembly

好吧,如此简单明了,我似乎无法调试客户端设备。

我添加了

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

如此处的建议Blazor WebAssembly 3.2.0 Preview 3 release now available

我已经尝试过同时使用IIS Express和茶est的F5。

我已阅读到您需要启用脚本调试。我打开了它,现在当我按F5键时,浏览器尝试进入

file:///C:/%5CProgramData%5CMicrosoft%5CVisualStudio%5CEdgeAdapter%5C8d1196ff/landingPage.html

我可以确认我在env.IsDevelopment下的服务器-> startup.cs中具有以下内容

app.UseWebAssemblyDebugging();

先按Alt + Shift + D,然后按Win + R,最后在新的浏览器窗口中再次按Alt + Shift + D。这似乎只会使服务器端受益,因为服务器端无论如何都可以正常工作。

从这里Unable to debug Blazor hosted WebAssembly 3.2.0 from Visual Studio 2019 16.6.2

尝试了各种建议

Visaul Studio版本:16.7.2
.NetCore 3.1.401
Edge(Chromium)版本84.0.522.63

我知道我见过一些地方,人们说他们的断点被忽略了。不知道它们的含义是否与此相同,但对我而言,Visual Studio说,在调试时,断点将永远不会命中并且没有加载任何符号。

更新1:
出于好奇,我创建了一个全新的项目。
Visual Studio-> Blazor应用程序-> Blazor WebAssembly应用程序
取消配置HTTPS 托管的ASP.NET Core已被选中

在客户端项目的IncrementCount()的{​​{1}}处设置一个断点。
F5和相同的问题。

UPDATE2:
因此,只需添加一些更多信息即可。 我安装了Visual Studio Code。然后,我在命令行中创建了一个托管项目。打开项目,在与上述UPDATE1相同的位置放置一个断点,然后单击F5。断点有效!

因此,我然后在Visaul Studio Code中打开了UPDATE 1中提到的项目,并进行了尝试。当我按F5键时,我得到一个空白的浏览器,片刻之后,我得到了。

enter image description here

如果在Visual Studio中,然后打开使用命令行创建的项目。仍然按F5仍不允许断点。

因此,这似乎是Visaul Studio的问题。

2 个答案:

答案 0 :(得分:0)

看起来像Visual Studio的修复安装可以解决此问题。 我注意到Visaul Studio代码没有问题,并且在调试时始终会启动新的浏览器窗口。
Visaul Studio始终在我现有的浏览器窗口中启动一个新标签。

修复后,Visual Studio开始启动新的浏览器窗口。不知道这对任何人都意味着什么。

答案 1 :(得分:-1)

documentation page for blazor debugging上也描述了类似的问题。

尽管示例使用的是OnInitialized方法,但我发现当调试器似乎未触发时,它也适用于其他方法。

只需在方法开始时添加Thread.Sleep(10000)await Task.Delay(10000),然后重试。