如何将 Blazor WebAssembly .Net 5 独立部署到 GitHub 页面?

Posted

技术标签:

【中文标题】如何将 Blazor WebAssembly .Net 5 独立部署到 GitHub 页面?【英文标题】:How do I deploy Blazor WebAssembly .Net 5 standalone to GitHub page? 【发布时间】:2021-02-26 21:24:18 【问题描述】:

我已经看到并尝试遵循几个示例来说明如何执行此操作,但它们似乎都适用于以 .Net 2.1 Standard 为目标的 Web 组装项目版本。

https://swimburger.net/blog/dotnet/how-to-deploy-aspnet-blazor-webassembly-to-github-pages https://www.meziantou.net/publishing-a-blazor-webassembly-application-to-github-pages.htm https://www.davideguida.com/how-to-deploy-blazor-webassembly-on-github-pages-using-github-actions/

我尝试通过 github 操作部署的项目是针对 .Net 5.0

根据 MS 的文档,“独立部署资产已发布到 /bin/Release/TARGET FRAMEWORK/publish/wwwroot 文件夹中。”

https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/webassembly?view=aspnetcore-5.0#standalone-deployment

我曾想过为此放弃 CI/CD 并手动部署它。但是,当我检查此文件夹时,TARGET FRAMEWORK 文件夹内没有“发布”文件夹。在 wwwroot 内部,没有什么类似于我认为的网站。

那么...任何人都可以就如何实现这一目标提供指导吗?

【问题讨论】:

请参阅 github.com/theHexagoner/TFT_HexGrid 了解我的项目。您可以深入了解提交,以查看我尝试在 yml 文件中更改的各种排列。 【参考方案1】:

我认为您应该运行dotnet publish 命令来创建独立部署资产。您可以通过右键单击项目 --> 发布 --> 并创建文件夹发布配置文件从 Visual Studio 运行发布命令。默认情况下,如果您使用的是 .NET 5.0,则工件放置在 /bin/Release/net5.0/browser-wasm/publish/wwwroot

【讨论】:

谢谢,我会试一试并报告。 我已经构建了它并将输出放入一个名为 gh_pages 的分支中,github 似乎已经将其作为项目的网站。但它只是坐在 Loading... 文本上。 由于 JS 文件的“未能在资源的 '完整性' 属性中找到有效的摘要”,该站点正在崩溃。我认为这可能是由于 git 有助于改变一些行尾(我隐约记得它曾提到过这一点)。 我在该分支的 gitattributes 文件中添加了一个条目,将 .js 文件视为二进制文件。然后我删除了问题文件,并从我发布它的地方再次将它复制到了 repo 中。与远程同步后,该站点似乎正在运行。 我会将此标记为答案,但我有点想看看是否有人会加入创建适用于 .Net 5 的 Github 操作。

以上是关于如何将 Blazor WebAssembly .Net 5 独立部署到 GitHub 页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Blazor WebAssembly .Net 5 独立部署到 GitHub 页面?

如何通过 Blazor WebAssembly 写入浏览器控制台?

如何在 GitLab Pages 中将 Blazor WebAssembly 部署为静态站点

如何使用单纯的`WebAssembly`

Angular 项目中的 Blazor webassembly

如何在 Blazor WebAssembly中 使用 功能开关