最近嘛,看看Blazor已经蛮成熟的。顺便想在自家的框架里使用这个东西,毕竟我还是很念旧的,而且Blazor的技术栈也不麻烦。然后呢,在调试这一关我可是踩了大坑。

我的VS是2019,很早以前装的。然后呢,我非常开心的下载了.NET 5.0的SDK,安装并且在我的项目框架里加入了我想了一整天的全新项目(指名字):Ricebird.BlazorShared。

再之后,我想着,总得调试一下啊,打开msdn,搜索 debug blazor 立刻看到一篇文章 : https://docs.microsoft.com/zh-cn/aspnet/core/blazor/debug

这就是为什么我喜欢微软,文档全啊。按照这个文档一顿操作,F5调试。然后,断点无效。就是下图这个样子。

我在学习Blazor当中踩的巨坑!Blazor WebAssembly调试_命令行

 

然后,我疯狂折腾了一天,发现了一个非常让我吐血的事实,想要调试Blazor,请务必注意那篇文档里的几个重点:

1. VS必须升级最新版,如果你和我一样,是老早老早的VS 2019,一切免谈。我升级之后的是VS 2019 16.11

2. 浏览器必须是Chrome或者Edge。直接用IIS Express启动,请务必看清浏览器。像我一样,默认是 360浏览器 你改死了也没用。。。

3. 调试的时候,按下图选择你的“启动项目”,不要选那个IIS Express。我测试过,选那个系统是不会进行JS附加的,所以你就调试不了。同时看到那个“脚本调试(已启用)”了吗?如果是“已禁用”状态请务必打开 !!!!

我在学习Blazor当中踩的巨坑!Blazor WebAssembly调试_Blazor_02

 

4. 如果一切顺利,你的VS会打开一个命令行窗口,就像这样:

我在学习Blazor当中踩的巨坑!Blazor WebAssembly调试_Blazor调试_03

 

 在有这个窗口出现时,你的浏览器也是Edge或者Chrome,那就可以正常的进行调试。

5. app.UseWebAssemblyDebugging(); 这个东西也许是已经过时了,我测试过,不加这一句也是可以调试的。

总之,在启动的时候没有看到第4步那个命令行窗口,你的Blazor就没有进调试状态,然后就会凉凉。。。!!!

 

最后嘛,好像Blazor没有办法边调试边修改。如果你修改了代码就必须中止调试,然后重新编译。巨坑!