具有本机依赖项的 Blazor .NET 6 无法构建为 Docker 图像

Blazor .NET 6 with Native Dependency cannot build as a Docker image

我想向我的 Docker 托管的 Blazor Web Assembly 应用程序添加本机依赖项,​​但无法构建 Docker 图像,即使该应用程序在 [=41] 之外构建和运行得非常好=].

以下是重现该问题的步骤。

  1. 在 Visual Studio 2022 年创建一个默认的 .NET 6 Blazor Web Assembly 应用程序

  2. 为项目添加Docker支持

  3. 编辑项目文件以要求本机链接,方法是将以下行添加到 -

  4. 在 Docker 文件中添加一行以安装 WASM 工具 - 运行 dotnet 工作负载安装 wasm-tools

  5. 尝试构建 Docker 图像 - 'Error: The command "emcc --version" exited with code 1.'

未提供其他错误详细信息。

用于编译的 Emscripten 需要未安装在 SDK 映像中的 python。

您可以通过添加行

自己在构建映像中安装它
RUN apt-get update && apt-get install -y python3

在您的 Dockerfile 中,在您进行 dotnet 构建或发布之前的某处。