Blazor客户端调试

时间:2019-05-23 02:26:50

标签: blazor

我注意到我的所有C#断点都没有被击中,因为客户端Blazor应用的调试似乎已被禁用。

是否可以通过某种方式附加调试器或启用调试器?

谢谢

6 个答案:

答案 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。

使用调试配置文件启动应用。例如

Start debugging

网站加载后,然后将光标放在Chrome标签上,按“ Shift + Alt + D”。

Site loads

Chrome浏览器将打开一个新标签页,显示“无法找到可调试的浏览器标签页”。找到消息“ Press Win + R”的第一个实例。复制下面的完整行,以“ chrome-remote-debugging-port ...”开头。

Remote debugging

单击“ Win + R” ,然后粘贴刚刚复制的文本,然后按Enter。一个新的Chrome窗口将打开。.

第二次,按“ Shift + Alt + D”,您现在应该会看到一些更有希望的东西。

Chrome debugger

从此处设置一些断点,例如

Set your breakpoints

返回到运行Blazor应用程序的标签页,触发您的断点。 在这里,您可以按F10一步,按F8继续。如图所示,通过“范围”窗口检查本地人。

Finally, the locals are shown!

答案 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”。

3。按F5享受 enter image description here

答案 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