我注意到我的所有C#断点都没有被击中,因为客户端Blazor应用的调试似乎已被禁用。
是否可以通过某种方式附加调试器或启用调试器?
谢谢
答案 0 :(得分:11)
在最新版本的blazor预览功能中已添加了功能,以使用Visual Studio调试客户端代码。请按照下面的链接上的说明操作,以了解如何升级解决方案和使用调试器。
https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-preview-3-release-now-available/
答案 1 :(得分:3)
对于那些喜欢一些图片的人,这是逐步使用Visual Studio 16.4预览版(.NET Core 3.1预览版2)和Chrome版本78。
使用调试配置文件启动应用。例如
网站加载后,然后将光标放在Chrome标签上,按“ Shift + Alt + D”。
Chrome浏览器将打开一个新标签页,显示“无法找到可调试的浏览器标签页”。找到消息“ Press Win + R”的第一个实例。复制下面的完整行,以“ chrome-remote-debugging-port ...”开头。
单击“ Win + R” ,然后粘贴刚刚复制的文本,然后按Enter。一个新的Chrome窗口将打开。.
第二次,按“ Shift + Alt + D”,您现在应该会看到一些更有希望的东西。
从此处设置一些断点,例如
返回到运行Blazor应用程序的标签页,触发您的断点。 在这里,您可以按F10一步,按F8继续。如图所示,通过“范围”窗口检查本地人。
答案 2 :(得分:2)
Visual Studio中没有客户端Blazor的调试经验。目前唯一的选择是使用Chrome调试器。
所有这些都在官方文档https://docs.microsoft.com/en-gb/aspnet/core/blazor/debug?view=aspnetcore-3.0
中进行了说明答案 3 :(得分:2)
是的,有一种方法可以调试您的客户端C#代码:
1.User IE“ Microsoft Edge”,“请勿使用Google Chrome”。
2。使用自托管应用程序“不要使用IIS express”。
答案 4 :(得分:2)
这是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();
(...)
}
}
答案 5 :(得分:0)
好消息是,现在(2020年8月)您可以使用Visual Studio 2019 V16.6或更高版本来调试客户端Blazor代码!为此,请在启动项目中更新launchSettings.json文件,以在每个启动配置文件中包含以下inspectUri属性:
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
来源:https://docs.microsoft.com/en-us/aspnet/core/blazor/debug?view=aspnetcore-3.1&tabs=visual-studio