无法调试客户端 blazor
Cannot debug client side blazor
好吧,太简单了,我似乎无法调试客户端 blazor。
我已经添加了
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
这里建议Blazor WebAssembly 3.2.0 Preview 3 release now available
我已经在 IIS Express 和 kestrel 上尝试过 F5。
我了解到您需要启用脚本调试。我打开它,现在当我按 F5 键时,我的浏览器尝试转到
file:///C:/%5CProgramData%5CMicrosoft%5CVisualStudio%5CEdgeAdapter%5C8d1196ff/landingPage.html
我可以确认我在服务器 -> startup.cs env.IsDevelopment
下有以下内容
app.UseWebAssemblyDebugging();
尝试了 Alt+Shift+D,然后是 Win+R,最后在新浏览器中 window,再次是 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(铬)版本 84.0.522.63
我知道有几个地方有人说他们的断点被忽略了。不确定它们的意思是否与此相同,但对我来说,Visual Studio 表示在调试时断点永远不会被击中并且没有加载任何符号。
更新 1:
出于好奇,我创建了一个全新的项目。
Visual Studio -> Blazor 应用程序 -> Blazor WebAssembly 应用程序
配置 HTTPS 未勾选
ASP.NET 核心托管勾选
在客户端项目的 Counter.Razor
上的 IncrementCount()
处放置一个断点。
F5 和同样的问题。
更新 2:
因此,只需添加更多信息即可。
我安装了 Visual Studio 代码。然后我在命令行中创建了一个托管项目。打开项目,把断点放在上面提到的 UPDATE1 的同一个地方,然后按 F5。断点有效!
然后,我在 Visaul Studio Code 中打开更新 1 中提到的项目并进行了尝试。当我按下 F5 时,我得到一个空白的浏览器,片刻之后,我得到了这个。
如果,在visual studio,我然后打开我用命令行创建的项目。按F5还是不允许断点
所以这看起来像是 Visaul Studio 的问题。
类似的问题在documentation page for blazor debugging.
上也有描述
虽然使用的示例是针对 OnInitialized 方法的,但我发现当调试器似乎没有被触发时,它也适用于其他方法。
只需在方法的开头添加 Thread.Sleep(10000)
或 await Task.Delay(10000)
,然后重试。
看起来 visual studio 的修复安装解决了问题。
我注意到 Visaul Studio 代码没有问题,并且在调试时,它总是会启动一个新的浏览器 window。
Visaul Studio 总是在我现有的浏览器上启动一个新选项卡 windows。
修复后,visual studio开始启动新浏览器window。不确定这对任何人是否意味着什么。
当 app.UseWebAssemblyDebugging()
在服务器应用程序 Startup.cs 中站在 app.UseHttpsRedirection()
之后时,可能会发生这种情况。因此调试文件在没有 https 的情况下不可用。
好吧,太简单了,我似乎无法调试客户端 blazor。
我已经添加了
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
这里建议Blazor WebAssembly 3.2.0 Preview 3 release now available
我已经在 IIS Express 和 kestrel 上尝试过 F5。
我了解到您需要启用脚本调试。我打开它,现在当我按 F5 键时,我的浏览器尝试转到
file:///C:/%5CProgramData%5CMicrosoft%5CVisualStudio%5CEdgeAdapter%5C8d1196ff/landingPage.html
我可以确认我在服务器 -> startup.cs env.IsDevelopment
下有以下内容app.UseWebAssemblyDebugging();
尝试了 Alt+Shift+D,然后是 Win+R,最后在新浏览器中 window,再次是 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(铬)版本 84.0.522.63
我知道有几个地方有人说他们的断点被忽略了。不确定它们的意思是否与此相同,但对我来说,Visual Studio 表示在调试时断点永远不会被击中并且没有加载任何符号。
更新 1:
出于好奇,我创建了一个全新的项目。
Visual Studio -> Blazor 应用程序 -> Blazor WebAssembly 应用程序
配置 HTTPS 未勾选
ASP.NET 核心托管勾选
在客户端项目的 Counter.Razor
上的 IncrementCount()
处放置一个断点。
F5 和同样的问题。
更新 2:
因此,只需添加更多信息即可。
我安装了 Visual Studio 代码。然后我在命令行中创建了一个托管项目。打开项目,把断点放在上面提到的 UPDATE1 的同一个地方,然后按 F5。断点有效!
然后,我在 Visaul Studio Code 中打开更新 1 中提到的项目并进行了尝试。当我按下 F5 时,我得到一个空白的浏览器,片刻之后,我得到了这个。
如果,在visual studio,我然后打开我用命令行创建的项目。按F5还是不允许断点
所以这看起来像是 Visaul Studio 的问题。
类似的问题在documentation page for blazor debugging.
上也有描述虽然使用的示例是针对 OnInitialized 方法的,但我发现当调试器似乎没有被触发时,它也适用于其他方法。
只需在方法的开头添加 Thread.Sleep(10000)
或 await Task.Delay(10000)
,然后重试。
看起来 visual studio 的修复安装解决了问题。
我注意到 Visaul Studio 代码没有问题,并且在调试时,它总是会启动一个新的浏览器 window。
Visaul Studio 总是在我现有的浏览器上启动一个新选项卡 windows。
修复后,visual studio开始启动新浏览器window。不确定这对任何人是否意味着什么。
当 app.UseWebAssemblyDebugging()
在服务器应用程序 Startup.cs 中站在 app.UseHttpsRedirection()
之后时,可能会发生这种情况。因此调试文件在没有 https 的情况下不可用。