Describe the bug
We are publishing our Blazor WASM app using Docker (Linux environment) and when we choose to build it using AOT we receive the below error:
/usr/share/dotnet/packs/Microsoft.NET.Runtime.WebAssembly.Sdk/6.0.0/Sdk/WasmApp.Native.targets(424,5): error MSB3073: The command "emcc --version" exited with code 1. [/src/FmsAgvGui/FmsAgvGui.csproj]
To Reproduce
Publish Blazor WASM app using docker with sdk:6.0 image.
This is our Dockerfile:
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["MyProj/MyProj.csproj", "MyProj/"]
RUN dotnet workload install wasm-tools
RUN dotnet restore "MyProj/MyProj.csproj"
COPY . .
WORKDIR "/src/MyProj"
RUN dotnet build "MyProj.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "MyProj.csproj" -c Release -o /app/publish
FROM fholzer/nginx-brotli:v1.19.1 AS final
WORKDIR /var/www/html
COPY --from=publish /app/publish/wwwroot .
COPY MyProj/nginx.conf /etc/nginx/nginx.conf
Exceptions (if any)
Blazor wasm tools installation logs:
RUN dotnet workload install wasm-tools
---> Running in 5351862f968d
Skip NuGet package signing validation. NuGet signing validation is not available on Linux or macOS https://aka.ms/workloadskippackagevalidation .
Updated advertising manifest microsoft.net.workload.mono.toolchain.
Updated advertising manifest microsoft.net.sdk.macos.
Updated advertising manifest microsoft.net.sdk.maccatalyst.
Updated advertising manifest microsoft.net.workload.emscripten.
Updated advertising manifest microsoft.net.sdk.android.
Updated advertising manifest microsoft.net.sdk.maui.
Updated advertising manifest microsoft.net.sdk.tvos.
Updated advertising manifest microsoft.net.sdk.ios.
Installing workload manifest microsoft.net.sdk.macos version 12.0.101-preview.10.251…
Installing workload manifest microsoft.net.sdk.tvos version 15.0.101-preview.10.251…
Installing workload manifest microsoft.net.sdk.maccatalyst version 15.0.101-preview.10.251…
Installing workload manifest microsoft.net.sdk.android version 31.0.101-preview.10.59…
Installing workload manifest microsoft.net.sdk.maui version 6.0.101-preview.10.2068…
Installing workload manifest microsoft.net.sdk.ios version 15.0.101-preview.10.251…
Installing pack Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0...
Writing workload pack installation record for Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0...
Installing pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0...
Writing workload pack installation record for Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0...
Installing pack Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm version 6.0.0...
Writing workload pack installation record for Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm version 6.0.0...
Installing pack Microsoft.NET.Runtime.MonoAOTCompiler.Task version 6.0.0...
Writing workload pack installation record for Microsoft.NET.Runtime.MonoAOTCompiler.Task version 6.0.0...
Installing pack Microsoft.NET.Runtime.MonoTargets.Sdk version 6.0.0...
Writing workload pack installation record for Microsoft.NET.Runtime.MonoTargets.Sdk version 6.0.0...
Installing pack Microsoft.NET.Runtime.Emscripten.Node version 6.0.0...
Writing workload pack installation record for Microsoft.NET.Runtime.Emscripten.Node version 6.0.0...
Installing pack Microsoft.NET.Runtime.Emscripten.Sdk version 6.0.0...
Writing workload pack installation record for Microsoft.NET.Runtime.Emscripten.Sdk version 6.0.0...
Garbage collecting for SDK feature band(s) 6.0.100...
Successfully installed workload(s) wasm-tools.
Removing intermediate container 5351862f968d
---> 129e583326f1
Failed publish:
RUN dotnet publish "MyProjGui.csproj" -c Release -o /app/publish
---> Running in eb7094f4368a
Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
Determining projects to restore...
All projects are up-to-date for restore.
MyProjGui -> /src/MyProjGui/bin/Release/net6.0/MyProjGui.dll
MyProjGui (Blazor output) -> /src/MyProjGui/bin/Release/net6.0/wwwroot
Optimizing assemblies for size, which may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
Optimizing assemblies for size, which may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
AOT'ing 108 assemblies
[1/107] System.Collections.Specialized.dll -> System.Collections.Specialized.dll.bc
[2/107] Blazored.LocalStorage.dll -> Blazored.LocalStorage.dll.bc
[3/107] FCSBlazorHelpers.dll -> FCSBlazorHelpers.dll.bc
[4/107] System.Collections.dll -> System.Collections.dll.bc
[5/107] FCSFrontendAuthentication.dll -> FCSFrontendAuthentication.dll.bc
[6/107] MyProjShared.dll -> MyProjShared.dll.bc
[7/107] System.ComponentModel.Annotations.dll -> System.ComponentModel.Annotations.dll.bc
[8/107] System.ComponentModel.Primitives.dll -> System.ComponentModel.Primitives.dll.bc
[9/107] Microsoft.AspNetCore.Authorization.dll -> Microsoft.AspNetCore.Authorization.dll.bc
[10/107] System.ComponentModel.TypeConverter.dll -> System.ComponentModel.TypeConverter.dll.bc
[11/107] System.ComponentModel.dll -> System.ComponentModel.dll.bc
[12/107] System.Console.dll -> System.Console.dll.bc
[13/107] System.Core.dll -> System.Core.dll.bc
[14/107] Microsoft.AspNetCore.Components.dll -> Microsoft.AspNetCore.Components.dll.bc
[15/107] Microsoft.AspNetCore.Components.Authorization.dll -> Microsoft.AspNetCore.Components.Authorization.dll.bc
[16/107] Microsoft.AspNetCore.Components.Forms.dll -> Microsoft.AspNetCore.Components.Forms.dll.bc
[17/107] Microsoft.AspNetCore.Components.Web.dll -> Microsoft.AspNetCore.Components.Web.dll.bc
[18/107] System.Data.Common.dll -> System.Data.Common.dll.bc
[19/107] System.Diagnostics.TraceSource.dll -> System.Diagnostics.TraceSource.dll.bc
[20/107] System.Drawing.Primitives.dll -> System.Drawing.Primitives.dll.bc
[21/107] Microsoft.AspNetCore.Components.WebAssembly.dll -> Microsoft.AspNetCore.Components.WebAssembly.dll.bc
[22/107] System.Drawing.dll -> System.Drawing.dll.bc
[23/107] System.IO.Compression.dll -> System.IO.Compression.dll.bc
[24/107] Microsoft.AspNetCore.Components.WebAssembly.Authentication.dll -> Microsoft.AspNetCore.Components.WebAssembly.Authentication.dll.bc
[25/107] Microsoft.AspNetCore.Connections.Abstractions.dll -> Microsoft.AspNetCore.Connections.Abstractions.dll.bc
[26/107] Microsoft.AspNetCore.Http.Connections.Client.dll -> Microsoft.AspNetCore.Http.Connections.Client.dll.bc
[27/107] Microsoft.AspNetCore.Http.Connections.Common.dll -> Microsoft.AspNetCore.Http.Connections.Common.dll.bc
[28/107] Microsoft.AspNetCore.Metadata.dll -> Microsoft.AspNetCore.Metadata.dll.bc
[29/107] Microsoft.AspNetCore.SignalR.Client.dll -> Microsoft.AspNetCore.SignalR.Client.dll.bc
[30/107] Microsoft.AspNetCore.SignalR.Client.Core.dll -> Microsoft.AspNetCore.SignalR.Client.Core.dll.bc
[31/107] Microsoft.AspNetCore.SignalR.Common.dll -> Microsoft.AspNetCore.SignalR.Common.dll.bc
[32/107] Microsoft.AspNetCore.SignalR.Protocols.Json.dll -> Microsoft.AspNetCore.SignalR.Protocols.Json.dll.bc
[33/107] Microsoft.AspNetCore.WebUtilities.dll -> Microsoft.AspNetCore.WebUtilities.dll.bc
[34/107] Microsoft.Extensions.Configuration.dll -> Microsoft.Extensions.Configuration.dll.bc
[35/107] Microsoft.Extensions.Configuration.Abstractions.dll -> Microsoft.Extensions.Configuration.Abstractions.dll.bc
[36/107] Microsoft.Extensions.Configuration.Json.dll -> Microsoft.Extensions.Configuration.Json.dll.bc
[37/107] Microsoft.Extensions.DependencyInjection.dll -> Microsoft.Extensions.DependencyInjection.dll.bc
[38/107] Microsoft.Extensions.DependencyInjection.Abstractions.dll -> Microsoft.Extensions.DependencyInjection.Abstractions.dll.bc
[39/107] Microsoft.Extensions.Features.dll -> Microsoft.Extensions.Features.dll.bc
[40/107] Microsoft.Extensions.Localization.dll -> Microsoft.Extensions.Localization.dll.bc
[41/107] Microsoft.Extensions.Localization.Abstractions.dll -> Microsoft.Extensions.Localization.Abstractions.dll.bc
[42/107] Microsoft.Extensions.Logging.dll -> Microsoft.Extensions.Logging.dll.bc
[43/107] Microsoft.Extensions.Logging.Abstractions.dll -> Microsoft.Extensions.Logging.Abstractions.dll.bc
[44/107] Microsoft.Extensions.Options.dll -> Microsoft.Extensions.Options.dll.bc
[45/107] Microsoft.Extensions.Primitives.dll -> Microsoft.Extensions.Primitives.dll.bc
[46/107] Microsoft.IdentityModel.JsonWebTokens.dll -> Microsoft.IdentityModel.JsonWebTokens.dll.bc
[47/107] Microsoft.IdentityModel.Logging.dll -> Microsoft.IdentityModel.Logging.dll.bc
[48/107] System.Linq.Expressions.dll -> System.Linq.Expressions.dll.bc
[49/107] System.Linq.Queryable.dll -> System.Linq.Queryable.dll.bc
[50/107] System.Linq.dll -> System.Linq.dll.bc
[51/107] System.Memory.dll -> System.Memory.dll.bc
[52/107] System.Net.Http.Json.dll -> System.Net.Http.Json.dll.bc
[53/107] Microsoft.IdentityModel.Tokens.dll -> Microsoft.IdentityModel.Tokens.dll.bc
[54/107] System.Net.Http.dll -> System.Net.Http.dll.bc
[55/107] System.Net.Primitives.dll -> System.Net.Primitives.dll.bc
[56/107] System.Net.Requests.dll -> System.Net.Requests.dll.bc
[57/107] System.Net.Security.dll -> System.Net.Security.dll.bc
[58/107] System.Net.Sockets.dll -> System.Net.Sockets.dll.bc
[59/107] Microsoft.JSInterop.dll -> Microsoft.JSInterop.dll.bc
[60/107] System.Net.WebSockets.Client.dll -> System.Net.WebSockets.Client.dll.bc
[61/107] System.Net.WebSockets.dll -> System.Net.WebSockets.dll.bc
[62/107] Microsoft.Net.Http.Headers.dll -> Microsoft.Net.Http.Headers.dll.bc
[63/107] System.ObjectModel.dll -> System.ObjectModel.dll.bc
[64/107] System.Private.Runtime.InteropServices.JavaScript.dll -> System.Private.Runtime.InteropServices.JavaScript.dll.bc
[65/107] System.Private.Uri.dll -> System.Private.Uri.dll.bc
[66/107] System.Private.Xml.Linq.dll -> System.Private.Xml.Linq.dll.bc
[67/107] NetTopologySuite.dll -> NetTopologySuite.dll.bc
[68/107] NetTopologySuite.Features.dll -> NetTopologySuite.Features.dll.bc
[69/107] NetTopologySuite.IO.GeoJSON4STJ.dll -> NetTopologySuite.IO.GeoJSON4STJ.dll.bc
[70/107] System.IdentityModel.Tokens.Jwt.dll -> System.IdentityModel.Tokens.Jwt.dll.bc
[71/107] System.IO.Pipelines.dll -> System.IO.Pipelines.dll.bc
[72/107] Telerik.DataSource.dll -> Telerik.DataSource.dll.bc
[73/107] Telerik.Documents.SpreadsheetStreaming.dll -> Telerik.Documents.SpreadsheetStreaming.dll.bc
[74/107] Telerik.Recurrence.dll -> Telerik.Recurrence.dll.bc
[75/107] System.Private.Xml.dll -> System.Private.Xml.dll.bc
[76/107] System.Runtime.CompilerServices.Unsafe.dll -> System.Runtime.CompilerServices.Unsafe.dll.bc
[77/107] System.Runtime.InteropServices.RuntimeInformation.dll -> System.Runtime.InteropServices.RuntimeInformation.dll.bc
[78/107] System.Runtime.Loader.dll -> System.Runtime.Loader.dll.bc
[79/107] System.Runtime.Numerics.dll -> System.Runtime.Numerics.dll.bc
[80/107] System.Runtime.Serialization.Formatters.dll -> System.Runtime.Serialization.Formatters.dll.bc
[81/107] System.Runtime.Serialization.Primitives.dll -> System.Runtime.Serialization.Primitives.dll.bc
[82/107] System.Runtime.dll -> System.Runtime.dll.bc
[83/107] System.Security.Claims.dll -> System.Security.Claims.dll.bc
[84/107] System.Security.Cryptography.Algorithms.dll -> System.Security.Cryptography.Algorithms.dll.bc
[85/107] System.Security.Cryptography.Cng.dll -> System.Security.Cryptography.Cng.dll.bc
[86/107] System.Security.Cryptography.Csp.dll -> System.Security.Cryptography.Csp.dll.bc
[87/107] System.Security.Cryptography.Encoding.dll -> System.Security.Cryptography.Encoding.dll.bc
[88/107] System.Security.Cryptography.Primitives.dll -> System.Security.Cryptography.Primitives.dll.bc
[89/107] System.Security.Cryptography.X509Certificates.dll -> System.Security.Cryptography.X509Certificates.dll.bc
[90/107] System.Text.Encoding.Extensions.dll -> System.Text.Encoding.Extensions.dll.bc
[91/107] System.Text.Encodings.Web.dll -> System.Text.Encodings.Web.dll.bc
[92/107] System.Text.Json.dll -> System.Text.Json.dll.bc
[93/107] System.Text.RegularExpressions.dll -> System.Text.RegularExpressions.dll.bc
[94/107] System.Threading.Channels.dll -> System.Threading.Channels.dll.bc
[95/107] System.Threading.ThreadPool.dll -> System.Threading.ThreadPool.dll.bc
[96/107] System.Threading.dll -> System.Threading.dll.bc
[97/107] System.dll -> System.dll.bc
[98/107] netstandard.dll -> netstandard.dll.bc
[99/107] Telerik.Blazor.dll -> Telerik.Blazor.dll.bc
[100/107] Telerik.Zip.dll -> Telerik.Zip.dll.bc
[101/107] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.bc
[102/107] MyProjGui.dll -> MyProjGui.dll.bc
[103/107] Microsoft.CSharp.dll -> Microsoft.CSharp.dll.bc
[104/107] Microsoft.Win32.Primitives.dll -> Microsoft.Win32.Primitives.dll.bc
[105/107] System.Buffers.dll -> System.Buffers.dll.bc
[106/107] System.Collections.Concurrent.dll -> System.Collections.Concurrent.dll.bc
[107/107] System.Collections.NonGeneric.dll -> System.Collections.NonGeneric.dll.bc
/usr/share/dotnet/packs/Microsoft.NET.Runtime.WebAssembly.Sdk/6.0.0/Sdk/WasmApp.Native.targets(424,5): error MSB3073: The command "emcc --version" exited with code 1. [/src/MyProjGui/MyProjGui.csproj]
The command '/bin/sh -c dotnet publish "MyProjGui.csproj" -c Release -o /app/publish' returned a non-zero code: 1
Describe the bug
We are publishing our Blazor WASM app using Docker (Linux environment) and when we choose to build it using AOT we receive the below error:
To Reproduce
Publish Blazor WASM app using docker with
sdk:6.0image.This is our Dockerfile:
Exceptions (if any)
Blazor wasm tools installation logs:
Failed publish: