最近嘛,看看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,请务必注意那篇文档里的几个重点:

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

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

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

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

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

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

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

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

我在学习Blazor当中踩的巨坑!Blazor WebAssembly调试的更多相关文章

  1. 记录初学者学习Hive时踩过的坑

    1. 缺少MySQL驱动包 1.1 问题描述 Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFound ...

  2. 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(中)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 四.创建一个Blazor应用程序 1. 第一种创 ...

  3. 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(下)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  4. 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(完)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  5. "开发路上踩过的坑要一个个填起来————持续更新······(7月30日)"

    欢迎转载,请注明出处! https://gii16.github.io/learnmore/2016/07/29/problem.html 踩过的坑及解决方案记录在此篇博文中! 个人理解,如有偏颇,欢 ...

  6. 使用ffmpeg视频编码过程中踩的一个坑

           今天说说使用ffmpeg在写视频编码程序中踩的一个坑,这个坑让我花了好多时间,回头想想,非常多时候一旦思维定势真的挺难突破的.以下是不对的编码结果:                   ...

  7. 《C++之那些年踩过的坑(附录一)》

    C++之那些年踩过的坑(附录一) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. [版权声明]转载请注明原文来自 ...

  8. Django 踩过的坑(一)

    平台:win10 工具:cmd python3 刚刚学习Django搭建环境,网站还木有发布,就直接来了个大麻烦. 一切按着<Django 学习笔记(二)>这篇文章来的,在最后cmd运行服 ...

  9. 与webview打交道踩过的坑

    随着HTML5被越来越多的用到web APP的开发当中,webview这一个神器便日渐凸显出重要地位.简要的说,webview能够在移动应用中开辟出一个窗口,在里面显示html页面,css以及js代码 ...

随机推荐

  1. C#设计模式---观察者模式(Observer Pattern)

    一.目的 提供一种一对多的关系,当主题发生变化时候,可以通知所有关联的对象. 二.定义 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通 ...

  2. WPF 获取主线程

    WPF线程获取UI线程   WPF中只能是UI线程才可以改变UI控件相关,当采用多线程工作时,可用以下代码获取 UI线程进行操作: App.Current.Dispatcher.Invoke((Act ...

  3. java 学习推荐

    1.书籍推荐 Java基础:<Java核心技术:卷1基础知识>.<Java编程思想>.<Effective Java> Linux:<鸟哥的Linux私房菜: ...

  4. oracle中常用函数

    1.oracle中 trunc 是截取的函数,用在日期类型上,就是截取到的日或时间. select trunc(sysdate) from dual   默认是截取系统日期到日,得到 2012-12- ...

  5. java js转码解码

    摘自网友:https://blog.csdn.net/sgear/article/details/1509400?utm_medium=distribute.pc_relevant.none-task ...

  6. rest operater剩余操作符

    rest叫做剩余操作符(rest operator),是解构的一种,意思就是把剩余的东西放到一个array里面赋值给它.一般只针对array的解构 //rest叫做剩余操作符(rest operato ...

  7. swiper tabs综合示例

    html部分: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...

  8. Redis笔记(一)

    redis:1.什么是缓存? mybatis一级缓存和二级缓存 mybatis的一级缓存存在哪? SqlSession,就不会再走数据库 什么情况下一级缓存会失效? 当被更新,删除的时候sqlsess ...

  9. sql函数大全

    sql函数大全 一.内部函数 1.内部合计函数 1)COUNT(*) 返回行数 2)COUNT(DISTINCT COLNAME) 返回指定列中唯一值的个数 3)SUM(COLNAME/EXPRESS ...

  10. JS 之 每日一题 之 算法 ( 有多少小于当前数字的数字 )

    给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目. 换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 ...