首页 > 其他分享 >blazor调试部署全过程

blazor调试部署全过程

时间:2022-11-13 21:57:10浏览次数:66  
标签:-- self ## 404 wasm 全过程 dotnet blazor 调试

安装了最新的 dotnet SDK

最好直接下载安装版, 不要zip版, 安装版会自动注册一些信息, 省去后面的很多麻烦.
设置如下OS环境变量, 并重启计算机.
(1) 将 dotnet.exe 路径加到OS的 PATH 环境变量中.
(2) 设置 DOTNET_ROOT 环境变量, 取值为 C:\Program Files\dotnet
(3) 设置 NUGET_PACKAGES 环境变量, 用于存放 nuget 下载包的路径, 默认为 %userprofile%.nuget\packages
安装完毕, 通过下面命令检查sdk和runtime安装清单.

dotnet --info

安装 wasm-tools workload

dotnet workload list  ##检查是否安装 wasm-tools workload 
dotnet workload search ## 查询 wasm-tools workload 的准确名称
dotnet workload install wasm-tools ## 安装 wasm-tools 这个workload

新建 wasm 模板项目

dotnet new blazorwasm -o testProject --no-https 

运行项目

cd testProject
dotnet run   ##运行项目
dotnet run --debug ## 运行程序with debug enabled
dotnet watch  ##热启动方式运行项目
dotnet test ##运行测试用例

浏览器调试

dotnet run --debug ## 运行程序with debug enabled
msedge --remote-debugging-port=9222 # 启动可调试的浏览器进程
  • 浏览器打开 blazor 主页地址
  • 在浏览器中按 Shift+Alt+D , 浏览器会开启一个带调试功能的tab页, 如果报错, 按照报错信息操作多数情况也会OK
  • 在调试的tab的dev tools的源代码的 file:// 节点下的C#源码, 可以设置断点.

发布项目

dotnet publish -c Release  ## 按照Release configuration的方式发布项目 

使用dotnet-serve部署项目

参考: https://github.com/pavelsavara/dotnet-wasm-todo-mvc
使用 dotnet-serve 轻量级服务器: https://github.com/natemcmaster/dotnet-serve
dotnet-serve 不支持 path-base 和 404 重定向.

dotnet tool install --global dotnet-serve  #下载并安装 dotnet-serve 
cd D:/blazorDemo/  # cd 到项目目录

# 启动
dotnet serve 
  --port 8080
  --mime .wasm=application/wasm 
  --mime .js=text/javascript 
  --mime .json=application/json 
  --directory bin\Release\net7.0\publish\wwwroot\
  

使用nginx部署项目

参考:

下面nginx.conf 文件已设置了404跳转, 可以支持url地址栏直接重定向.
nginx 好像不支持 path-base.

http {
    include mime.types;
    types {
        application/wasm wasm;
    }

    server {
        listen 80;     
        server_name  localhost;        
         
        location / {
            root D:/blazorDemo/bin/Release/net7.0/publish/wwwroot;
            try_files $uri $uri/  /index.html =404;
        }
   
       gzip on; # 启动压缩
       gzip_min_length 5k; # 文件大小<5k不压缩,否则进行压缩处理
       gzip_vary on; # 是否在http header中添加Vary: Accept-Encoding,建议开启
       gzip_types      text/plain application/xml application/x-msdownload application/json application/wasm application/octet-stream;
       gzip_proxied    no-cache no-store private expired auth;
    }
}

使用 caddy2 部署项目

下面 Caddyfile 已设置了404跳转, 可以支持url地址栏直接重定向.
要支持 blazor base path, Caddyfile 估计要设置 route 指令, 以后再测试一下.

Caddyfile 内容:

http://localhost:8081 {
        root * D:\blazorDemo\bin\Release\net7.0\publish\wwwroot
        encode gzip
        file_server
        header / {
                Content-Security-Policy = "upgrade-insecure-requests; default-src 'self'; style-src 'self'; script-src 'self'; img-src 'self'; object-src 'self'; worker-src 'self'; manifest-src 'self';"
                Strict-Transport-Security = "max-age=63072000; includeSubDomains; preload"
                X-Xss-Protection = "1; mode=block"
                X-Frame-Options = "DENY"
                X-Content-Type-Options = "nosniff"
                Referrer-Policy = "strict-origin-when-cross-origin"
                Permissions-Policy = "fullscreen=(self)"
                cache-control = "max-age=0,no-cache,no-store,must-revalidate"
        }
        handle_errors {
                @404 {
                     expression {http.error.status_code}==404
                }
                rewrite @404 /index.html
                file_server
        }   
       # route /test2 {
       #     uri strip_prefix /test2
       #     reverse_proxy localhost:8081
       # }                  
}

Caddy2 启动命令:

.\caddy_windows_amd64.exe  start   --config  c:/Users/dorothy/Desktop/Caddyfile.txt
base

标签:--,self,##,404,wasm,全过程,dotnet,blazor,调试
From: https://www.cnblogs.com/harrychinese/p/blazor_devops.html

相关文章

  • 学习ASP.NET Core Blazor编程系列文章之目录
    学习ASP.NETCoreBlazor编程系列一——综述学习ASP.NETCoreBlazor编程系列二——第一个Blazor应用程序(上)学习ASP.NETCoreBlazor编程系列二——第一个Blazor应......
  • 学习ASP.NET Core Blazor编程系列十——路由(中)
     学习ASP.NETCoreBlazor编程系列一——综述学习ASP.NETCoreBlazor编程系列二——第一个Blazor应用程序(上)学习ASP.NETCoreBlazor编程系列二——第一个Blazor......
  • 发布 .NET 7 MAUI / MAUI Blazor 应用到 Windows 应用商店
    .NETMAUI目前仅允许发布MSIX包。创建签名证书发布到本地传送门[https://www.cnblogs.com/densen2014/p/16567384.html]使用VisualStudio2022发布到Windows应......
  • ffmpeg一些笔记: 代码调试数据
    1.AAC,MP3他的解码数据格式不支持,程序中给的是这个AV_SAMPLE_FMT_FLTP, Screen-Cpature-Recoder的codec-id为AV_CODEC_RAW_VIDEO,virtual-audio-capturer的codec-id为AV_......
  • Linux-0.11操作系统源码调试
    学习操作系统有比较好的两种方式,第一种是跟着别人写一个操作系统出来,《操作系统真相还原》、《Orange's:一个操作系统的实现》等书就是教学这个的;另一种方式就是调试操作系......
  • bochs调试方法与指令详解
    参考:https://blog.csdn.net/liu0808/article/details/53099099#t0bochs调试FAQ:一基本调试命令1.       Q:如何从引导扇区开始设置断点?A:BIOS被载入内存中......
  • bochs 调试 com 文件
    参考:https://blog.csdn.net/housansan/article/details/41833581在网上看到2中解决此问题的方法:1.使用dos下的debug32工具单步跟踪pmtest2.com的运行情况。但这个方法存......
  • windbg调试kvm windows虚机
    参考:http://m.blog.chinaunix.net/uid-22954220-id-4733247.html准备2台虚机,一台target目标机,用于运行要调试的windows系统(调试内核),一台debug调试机,用于运行windbg,配置......
  • GDB调试(包含ui)
    参考:http://tianyu-code.top/GDB调试/GDB调试之图形化界面(TUI)/目录简介窗口介绍及切换窗口属性窗口刷新TUI模式下指令介绍断点状态显示简介TUI(TextUserInterf......
  • Go进阶36:Goland远程开发调试
    Go进阶36:Goland远程开发调试Go&Rust......