繁体   English   中英

将 WebAssembly Blazor 转换为托管的

[英]Convert WebAssembly Blazor to a Hosted one

我正在测试 Blazor.net,但由于 WebAssembly (.net Core 3.1) 中缺乏调试而立即失败。

是否有一种快速简便的方法可以将我的 WebAssembly 应用程序重新配置为托管应用程序,以便我可以在开发示例时调试 .net 代码?

我刚刚看了这个视频,它展示了一个很好的技巧:

  • 将 2 个项目添加到您的解决方案中,ServerApp 和 WasmApp。
  • 在您的 ServerApp 中,添加对 WasmApp 的引用
  • 在 ServerApp._Host.cshtml 中,将此行更改为使用WasmApp.App

    <component type="typeof(WasmApp.App)" render-mode="ServerPrerendered" />

  • 现在从 ServerApp 项目中删除所有 .razor 文件和由此产生的死代码。

您现在可以在 WasmApp 中开发所有 blazor 页面,也可以使用 ServerApp 运行它们。 唯一的重复是在添加 css 或 js 文件时并行维护_Host.cshtmlindex.html

视频还显示了一个附加功能来显示正在运行的内容:

@using System.Runtime.InteropServices

<p>Env: @Environment</p>

@code{
  string Environment = RuntimeInformation.IsOSPlatform(OSPlatform.Create("BROWSER")) // was "WEBASSEMBLY"
  ? "WebAssembly" 
  : "Server";

}

把它放在你的主页或 NavMenu 或其他东西上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM