Bob's Blog

Web开发、测试框架、自动化平台、APP开发、机器学习等

返回上页首页

Blazor Hybrid在mac上的调试



Blazor本质上是web,hybrid则是集成到其他应用里,比如我现在用的是Blazor + MAUI。

发现调试有时候比较尴尬,MAUI的部分并没有报错,build也成功了,但是在打开某一个blazor页面时崩了,提示有问题。可是visual studio里没有错误日志,app上也没有详细错误信息。

既然它是web,就可以用上浏览器的devtools来检查。我看有的人在windows上对着app直接用Ctrl+Shift+I直接调出了devtool。可是在mac上我试了不行,比如mac上edge调出devtool快捷键是Option+Command+I,但快捷键对blazor maui app无效。

后来尝试了几种方式,最终成功的是如下操作:

1. 确保MauiProgram.cs里有这几行

using Microsoft.Extensions.Logging;

#if DEBUG
    builder.Services.AddBlazorWebViewDeveloperTools();
    builder.Logging.AddDebug();
#endif

2. 新建一个文件,名为Entitlements.Debug.plist, 位于Platforms/MacCatalyst/下,内容为

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.get-task-allow</key>
    <true/>
</dict>
</plist>

3. 打开项目目录下的xxxx.csproj文件,添加一份PropertyGroup

<PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst' and '$(Configuration)' == 'Debug'">
    <CodeSignEntitlements>Platforms/MacCatalyst/Entitlements.Debug.plist</CodeSignEntitlements>
</PropertyGroup>

4. 打开safari - Reference - Advanced,把最下面的'show develop menu in menu bar'勾选上。然后选择菜单Develop - {你的设备} - 0.0.0.0, 就能看到devtool了,blazor页面出错了后就能看到详细信息。如下图。

 

参考: https://learn.microsoft.com/en-us/aspnet/core/blazor/hybrid/developer-tools?view=aspnetcore-6.0&pivots=macos

下一篇:  pytorch转为onnx并调用时遇到的问题汇总
上一篇:  c#中的各种问号和点的用法

共有0条评论

添加评论

暂无评论