我正在测试 Blazor.net 但立即在WebAssembly(.net Core 3.1(中缺乏调试。
有没有一种快速简便的方法可以将我的 WebAssembly 应用程序重新配置为托管应用程序,以便我可以在开发示例时调试 .net 代码?
我刚刚看了这个视频,它展示了一个很好的技巧:
- 将 2 个项目添加到您的解决方案中,即 ServerApp 和 WasmApp。
- 在您的服务器应用程序中,添加对 WasmApp 的引用
-
在 ServerApp._Host.cshtml 中,将此行更改为使用
WasmApp.App
:<component type="typeof(WasmApp.App)" render-mode="ServerPrerendered" />
-
现在从ServerApp项目中删除所有.razor文件和生成的死代码。
现在可以在 WasmApp 中开发所有 blazor 页面,也可以使用 ServerApp 运行它们。唯一的重复是在添加 css 或 js 文件时并行维护_Host.cshtml
和index.html
。
视频展示了一个附加功能来显示正在运行的内容:
@using System.Runtime.InteropServices
<p>Env: @Environment</p>
@code{
string Environment = RuntimeInformation.IsOSPlatform(OSPlatform.Create("BROWSER")) // was "WEBASSEMBLY"
? "WebAssembly"
: "Server";
}
把它放在你的主页或导航菜单或其他东西上。