Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blazor Wasm different output between build and publish #105937

Closed
1 task done
davidegolzi opened this issue Aug 2, 2024 · 10 comments · Fixed by #106696
Closed
1 task done

Blazor Wasm different output between build and publish #105937

davidegolzi opened this issue Aug 2, 2024 · 10 comments · Fixed by #106696
Assignees
Labels
arch-wasm WebAssembly architecture area-Build-mono in-pr There is an active PR which will close this issue when it is merged os-browser Browser variant of arch-wasm
Milestone

Comments

@davidegolzi
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

Building a Wasm Blazor Project (or a Blazor App) that has a reference on an external dll produce a WAM application including the external dll localized resources

Publishing the same project do not include in the wasm application the reference to the extrernal dll localized resources.

Expected Behavior

The publish operation must include as the build does the external localized resources.
Ex.
If the project reference a [external].dll the build command add in the in the "blazor.boot.json" the reference to the [external].wasm and as satellite add the, english for exemple, [external].resources.wasm

using the publish command the localized resource dll is not added in the "blazor.boot.json".
This cause translation in that dll disappearing after publish on a server.

Steps To Reproduce

  1. get the sample from this repository : https://github.com/davidegolzi/WASM-BUILD-VS-PUBLISH
    this is a fresh new Blazor Web app with e class library project just to test the behavior
  2. Build the ClassLibrary1 (The client project reference the dll from its debug output directory)
  3. Build the BlazorApp5
  4. Publish the BlazorApp5
  5. Note the different "blazor.boot.json"

Exceptions (if any)

No response

.NET Version

8.0.303

Anything else?

In my case this are the "blazor.boot.json" generated by:

  • Build
    { "mainAssemblyName": "BlazorApp5.Client", "resources": { "hash": "sha256-fJNy4oUoMtngS6fBNLoOrPfr5RIE/ZkYUSY4BPmVRJw=", "jsModuleNative": { "dotnet.native.8.0.7.37dkch2d2y.js": "sha256-tFsxPBbhkdn6GKNBKvCRLzrfAHdyM86odYTe0MtrwMk=" }, "jsModuleRuntime": { "dotnet.runtime.8.0.7.urcsr75yt5.js": "sha256-soZyw6XWXOLKhA26AOyzSpCP5cAsw1wvhdPHSYNTMfQ=" }, "wasmNative": { "dotnet.native.wasm": "sha256-ApuqKsuYqEC0ZTUIUV5mIV1IIRYYCwmOiB912jgs8CQ=" }, "icu": { "icudt_CJK.dat": "sha256-SZLtQnRc0JkwqHab0VUVP7T3uBPSeYzxzDnpxPpUnHk=", "icudt_EFIGS.dat": "sha256-8fItetYY8kQ0ww6oxwTLiT3oXlBwHKumbeP2pRF4yTc=", "icudt_no_CJK.dat": "sha256-L7sV7NEYP37/Qr2FPCePo5cJqRgTXRwGHuwF5Q+0Nfs=" }, "assembly": { "Microsoft.AspNetCore.Authorization.wasm": "sha256-tZ3Z0q6xQTgUxlWgiWvzS4SBQeBqETtRGtUWvVaU31w=", "Microsoft.AspNetCore.Components.wasm": "sha256-O1efzZ+VlmJ3lOWndJZV5tR5TGF3PS5viT8tqgf8wRU=", "Microsoft.AspNetCore.Components.Forms.wasm": "sha256-jF61/tMVhyfIJeua/KURR4OBR1xOxFpZGWa/OvX+Juk=", "Microsoft.AspNetCore.Components.Web.wasm": "sha256-xUXkW7JRXPVjIOKez4b8snSiAM4j0j94by1z9OMW2UA=", "Microsoft.AspNetCore.Components.WebAssembly.wasm": "sha256-gbP3w8Fy8u6E/VxRmH65xv70D88hF37gvIe3dsVTE4k=", "Microsoft.AspNetCore.Metadata.wasm": "sha256-H+Or4mx9ew+622c40gHkM70UI+dPHz2Hpa4CGjtF1RA=", "Microsoft.Extensions.Configuration.wasm": "sha256-UDGEQR7J3WTfzYMgOzxVIBwFQtKEeJvO8UgrWagypdE=", "Microsoft.Extensions.Configuration.Abstractions.wasm": "sha256-yNdqbqDWGiJo943D7LPak5xryCBEsNH0wtdiuU1R9VE=", "Microsoft.Extensions.Configuration.Binder.wasm": "sha256-fNNlyyW44y8Gp6dvOtsvHoVNzpT8lrKmPleg5CDhRAo=", "Microsoft.Extensions.Configuration.FileExtensions.wasm": "sha256-w4E5uayo1SFMsRc1dLJu4EYYaRQpyP7cvyeJNAqH5+4=", "Microsoft.Extensions.Configuration.Json.wasm": "sha256-ViitoeUHw71Xhs0JJ88lGca05eRKDi+p+NyaYc6cRIQ=", "Microsoft.Extensions.DependencyInjection.wasm": "sha256-NrPYML1ZOnKmz2Y+n4q5EFp+e4a6g47+gH22VofJd2k=", "Microsoft.Extensions.DependencyInjection.Abstractions.wasm": "sha256-4m5J6D1UjtBYOyimRA7fLpV89WdlUi2OueAnc4PZQSk=", "Microsoft.Extensions.FileProviders.Abstractions.wasm": "sha256-IUopixuV8E09mP+TIgRp/lXEbeacXbUTW7cu0v5B9Tc=", "Microsoft.Extensions.FileProviders.Physical.wasm": "sha256-MS+zB0xkKhKk/QdE32ZwKtdlrLMLI/y2NAKPUWhcBVg=", "Microsoft.Extensions.FileSystemGlobbing.wasm": "sha256-AnWUKd0qJ8ZNKkRC0AFK2cjjszB7reXiP+bXdIi8bic=", "Microsoft.Extensions.Logging.wasm": "sha256-Rx+UwnmyfTtMmlYd3HWJOvYVnSSwShUKrbPvqkfxmZk=", "Microsoft.Extensions.Logging.Abstractions.wasm": "sha256-AL42sVLgQf/nX/uHvd/OHfIFwLq3fRt9qn4/jnfJ2CM=", "Microsoft.Extensions.Options.wasm": "sha256-5/m+yVFGRuY+N4jQnD+QETKH0AfhAsnVze5dJ5ogIVM=", "Microsoft.Extensions.Primitives.wasm": "sha256-pVrYOTfjb2ITls3LKIByW1t8jwOAWFhmkIVDewtJ1GE=", "Microsoft.JSInterop.wasm": "sha256-ujAR3ldYmTi++VGM1Np5SMOEC+mP4m6Uva9Sgj54ZVs=", "Microsoft.JSInterop.WebAssembly.wasm": "sha256-gxsImbLQUP0+xBtL1HjJHY4TK2kv0b55tv61C2OHsUU=", "System.IO.Pipelines.wasm": "sha256-JqVBy6SV+3qk+IK3VJiyIDt9CsVk6b1/ytTXmrI4mTM=", "Microsoft.CSharp.wasm": "sha256-vCw0CqN4rcydAU24ZGZXUBVaczRh4WYncFAUMHp2p5E=", "Microsoft.VisualBasic.Core.wasm": "sha256-UInDqxTqt933Jzd6mPpf48KtlIyJR71xZS4CGFI4TNY=", "Microsoft.VisualBasic.wasm": "sha256-atrkkpXu/7adUk4nodQdTZjqNCaEtzmo+DNqOLy8mTE=", "Microsoft.Win32.Primitives.wasm": "sha256-SZKRKlq5MfXtFqCBukdLkfv0T3Fl5AGB0TKfxoQMyEk=", "Microsoft.Win32.Registry.wasm": "sha256-FKl0AkZHG3T0T5xqcueexkuFF7GZAGkeHpt/JpnirAQ=", "System.AppContext.wasm": "sha256-DMXsVxRoLPvB026IhJPNaQnEI8ldCup+hinXQ7b7S1Q=", "System.Buffers.wasm": "sha256-fJdkbmVhXZFlwrOAxTAiwgYHZ+CJ5JjaSAJwpIlQ/JA=", "System.Collections.Concurrent.wasm": "sha256-blWqb9+v28yV+wdpnoXEp416HbYIokE2wVA/pbi0weQ=", "System.Collections.Immutable.wasm": "sha256-0iYewEeOaWNTqMIpz5oC6oonx+Vba18ZSjs/wL6EB2A=", "System.Collections.NonGeneric.wasm": "sha256-9KNPwl5m84Z6pghIvJWKMbcctrTthCkWtHfwnNmeVyg=", "System.Collections.Specialized.wasm": "sha256-vJdpjXYL7Fxv7iC7bmJx34L3jfAYab4Cy+x4VxlKWvM=", "System.Collections.wasm": "sha256-y0CxpXjZz3/gcxA9U+UELiVBEQmRcn5kntH7y85Lfhw=", "System.ComponentModel.Annotations.wasm": "sha256-gGSDrUFJg2NZb2/4G+LniyKGWo6eLPsSBj4VNvWbfys=", "System.ComponentModel.DataAnnotations.wasm": "sha256-j/AcxZak1e1m5VHSFhQ6s3D/RZnFjLWtdAPudHGkNOg=", "System.ComponentModel.EventBasedAsync.wasm": "sha256-m6y94Tsw9+SArPbkiebke/pphY08G0WOBEpepC8RR1A=", "System.ComponentModel.Primitives.wasm": "sha256-taRbBKPhgGuoppY4YnbygxJ+bFLZdLsl7uBejymurTU=", "System.ComponentModel.TypeConverter.wasm": "sha256-Cdgf/jZabsVSXtcpakE2ZiT7bwiv12qu6P0cKX9fKTg=", "System.ComponentModel.wasm": "sha256-zzoTNwQ14mWJf84T5CKjLdRZ/lLhB+BKzL+MNAe/WaI=", "System.Configuration.wasm": "sha256-dtLBoSr/Qnw4ysjeaEOdhx5TxYh1QOd1H1QD/+KqAH8=", "System.Console.wasm": "sha256-lToLXbGS1OgQu3XLRZHHLaqcqJmYP1odnGICY2L7DJw=", "System.Core.wasm": "sha256-t0f1qu66V8p9MWqE0kl9lOgT4vkSeB7Dak0dorfQh/o=", "System.Data.Common.wasm": "sha256-1adyO/AHEfaGMwqcFWczSnpS5Ki3lkZY2Z0q1xcRatk=", "System.Data.DataSetExtensions.wasm": "sha256-UYwamX5l9ulxsvjWXNTBAlNjS335oS+TIelXcN2fyNs=", "System.Data.wasm": "sha256-7HYRoTirxuxzXhr/x8lny+3fxgTWgCixGV7Fmz9JcrE=", "System.Diagnostics.Contracts.wasm": "sha256-mTFcwtYafY3bgJSVUP9NT5+p5bsgQnXQ8cWlWn5+Y7E=", "System.Diagnostics.Debug.wasm": "sha256-zr00hS7ULrfMiA/HX8p/PIks3VnpptVjsRTqPnahpoc=", "System.Diagnostics.DiagnosticSource.wasm": "sha256-FUBLPoH+BYs1wZ4b+TXPWSsbOOUePrTqGng0fpHoxsc=", "System.Diagnostics.FileVersionInfo.wasm": "sha256-xVNoXwgCM/H4WJ3zkNnXU3FrLDx4f7wUjBRTVAzoBwA=", "System.Diagnostics.Process.wasm": "sha256-FVrBpJjmOVtibJovvTK36aOaYvUy+7J8vy8+JlxUk/g=", "System.Diagnostics.StackTrace.wasm": "sha256-biMxPiyKKsHfEdQyra+fQDOWOWJlJPKSx9XNF6/jUGo=", "System.Diagnostics.TextWriterTraceListener.wasm": "sha256-ZfwwSKMUG/Z0D4n2/ShxzTWGs6XyGykroSHh6hws5KY=", "System.Diagnostics.Tools.wasm": "sha256-cQzegU1d77K+UKdVDVPnWG4EN0a7FV26NYQFuOmU7Mc=", "System.Diagnostics.TraceSource.wasm": "sha256-40QNEK8djJfrRMvtGtYXERZmLuH9O5coFlsCMhP+b/Q=", "System.Diagnostics.Tracing.wasm": "sha256-2PkPZp8SfISYVrbMZ8ujuUgfK9RwFtLg3oWtYJCxiHM=", "System.Drawing.Primitives.wasm": "sha256-Va8cokFuU+tsMzmTGbxYsKZc2f2Y1Pq837JUArOIYNg=", "System.Drawing.wasm": "sha256-Irw9ppyt4HOlbMrCMxmen5yjqBnA7h1BLflprAaVhqQ=", "System.Dynamic.Runtime.wasm": "sha256-4Z6upFxOLi2F7uSgRRQ2lhU1OelQ9v4XmQ913NpbwPY=", "System.Formats.Asn1.wasm": "sha256-xeF2vr/qKvCO24KPPkWfdHzzsbaWGJPjtznP+bk5moM=", "System.Formats.Tar.wasm": "sha256-i3bFp83gQMe3CcA3js5haSZBEUquI62EKt56Yfk3nn8=", "System.Globalization.Calendars.wasm": "sha256-72cq5muxlbw9jRXcccaK6S2micaM82kjcbLSA3CfNG4=", "System.Globalization.Extensions.wasm": "sha256-h89cwEnUP1WTRs02fm7JD79stXuSJ8gqrFSo9++t2Yo=", "System.Globalization.wasm": "sha256-wBpXMukiZtdgH/7oWZN2GZldcB9JEYfCqxKrQ2bBo5k=", "System.IO.Compression.Brotli.wasm": "sha256-MrEUSDVtGmvY3I9WV9PazXvDZSG0hdXzs7l2nqWf08k=", "System.IO.Compression.FileSystem.wasm": "sha256-QLbEGzvgm7SvdCBw40U4w8xX9nOmXoiUijfpgwPumC4=", "System.IO.Compression.ZipFile.wasm": "sha256-LgFSDJzcvnN75jb+5yOWGqjQUiIMZA8ZAGB9FQxvl1g=", "System.IO.Compression.wasm": "sha256-Lc6qbePrzz5i3O3gC9/DOh3cq8gW6EHMvDGxMsn8TaM=", "System.IO.FileSystem.AccessControl.wasm": "sha256-DgN939BGrH4g9GvTu3+Ods1f73uJxhz/3sTkdfbB61Y=", "System.IO.FileSystem.DriveInfo.wasm": "sha256-KMlFv1syEoAMYvlXd3DDvPlJfjP+fV+5+Fzyv1p7lHs=", "System.IO.FileSystem.Primitives.wasm": "sha256-RLzTD8FpdYnTlTTv/2oxRhSzBHT5SFoIkXfaB1DEk3E=", "System.IO.FileSystem.Watcher.wasm": "sha256-nuY2DhDaQ8Xsw25b2BjN3yeJSCN5ybSR2jIxRg+MTxA=", "System.IO.FileSystem.wasm": "sha256-arpMwNcDYVuz3ivV1BN8j1DLcxQlbIz+XoRGh+8MpQQ=", "System.IO.IsolatedStorage.wasm": "sha256-R4DrWzxOnIu52My/amOYrN/umLC3PTBIfu2S8s0lX74=", "System.IO.MemoryMappedFiles.wasm": "sha256-TGZJI1iy6sBP/7fETWBNaDPGPxCIHsKFYE0YmSijIlo=", "System.IO.Pipes.AccessControl.wasm": "sha256-3S/khk6iQ7v8MAKNCnlJYvWYl9Sc7A60JpL3OOaHe/4=", "System.IO.Pipes.wasm": "sha256-E+fZc64X8bApadc+zTyLWGdkV0rN4vWm9rB10iSBIv4=", "System.IO.UnmanagedMemoryStream.wasm": "sha256-xiFHbBq9PfIFp/69LWuMRFY9XJYNiM0B7gq0vghq0a0=", "System.IO.wasm": "sha256-dMLXwK2UmnB3e6pJVkqoLDUxSxB0HhRXfM6szr/iptQ=", "System.Linq.Expressions.wasm": "sha256-fN5JTm75740rIi6ioFlJbKj5kVG7XtBV68pjbHtNbmg=", "System.Linq.Parallel.wasm": "sha256-MOqZmaf5MiF9WiswJE1eV1R9EFaiJ9knXyhM9i0KX3w=", "System.Linq.Queryable.wasm": "sha256-zFKdgsAkyBcLeYTkSItXn9837/r3X/Fs5DywC8nNK7o=", "System.Linq.wasm": "sha256-qPwI5XFqTQ2HwZFD1tmuVtdFePgGNq89HWeJg3jNWCc=", "System.Memory.wasm": "sha256-EG2tli4PQK1Smu4z60D+DnD13kEhbE/adL0jsCnhhmM=", "System.Net.Http.Json.wasm": "sha256-6+v9d2VQ9g+9n2Cq3EoO3VswV9XPBYUHC6DdoRL5tiQ=", "System.Net.Http.wasm": "sha256-gjX4MHjbjRjGwkh52fm3wnFa3mtAr5y74kQDNajvbkk=", "System.Net.HttpListener.wasm": "sha256-jLnDO5tB3S3BAfMCs/xqBpVSdOr2i2wwO+arhKTcS4U=", "System.Net.Mail.wasm": "sha256-uSuii00qdwYACF3V8uBotpbInEHDgj4P9WJC3Ys4jtw=", "System.Net.NameResolution.wasm": "sha256-0Z/wMzPFv+4JzBl71wuLVWZ6F464GX2So5pI13KHOQM=", "System.Net.NetworkInformation.wasm": "sha256-atZxBYDZswpksN2Y9PBRiAPqwbVVGlMjfVfV0RrovII=", "System.Net.Ping.wasm": "sha256-xJ6n3w7Q70EpPECuBqFP8xaPsgfF4hZezQQ6r9GYOao=", "System.Net.Primitives.wasm": "sha256-DDxS+lz23HVWU1l9HSgQ7scak7tuet7/dIoEfalJSDg=", "System.Net.Quic.wasm": "sha256-E4CHh0M8ZD55KozAybGCpX/ftTOBH+pEkHYxvEmj3sA=", "System.Net.Requests.wasm": "sha256-4uBzI5WAAxqeP41DDnTeAyrVS2vsi3hHdXGtrD5gkWo=", "System.Net.Security.wasm": "sha256-8h2oxSCWudlX63PYPQ6J2TQR8EZ/uk/Cz9IbDqAADIU=", "System.Net.ServicePoint.wasm": "sha256-bQzspgOAqKm56gKGSIJQuggMA5YO1Vaz2TGfahruADY=", "System.Net.Sockets.wasm": "sha256-q0QgMukiB59QCY2w31g/VjgkqT5x8HO84MKYip8vcbk=", "System.Net.WebClient.wasm": "sha256-9G45V+btEFgDJQQZ/DociVr+YodNxAi6FEkwYbuo6r0=", "System.Net.WebHeaderCollection.wasm": "sha256-jsgh6HlfK63Ae1GJfXBdM2/ewLQIHRlNIo6TJhPRdbc=", "System.Net.WebProxy.wasm": "sha256-bSk9eUV0N0KUiiLG8OQ4oLH03qLLLpeAs7wxcc4m4Tk=", "System.Net.WebSockets.Client.wasm": "sha256-HAL4v4h9bz6YDvRzUnImGlUTbSaaYXE2eE12mok3ZMw=", "System.Net.WebSockets.wasm": "sha256-TfbZP7pnIwe1ln4DI/YQPC4a6kWgw+DWRzyq2vFWObg=", "System.Net.wasm": "sha256-aZSWMb1t9BJ7jHx7GS5hSGlpu08jtS28ADHfo+VJzuk=", "System.Numerics.Vectors.wasm": "sha256-G0qHuiV0k9j/QgkZrkLzRedNoNun1cONLL3wmcyczd0=", "System.Numerics.wasm": "sha256-m9EWHUrCVPmEh1tAjRxt2yPZ5P95FcjOpvx9m4rlehA=", "System.ObjectModel.wasm": "sha256-3cZWneqoXEK8VVr/UWkJsvs5dxMqep7dQDiiwd/6na0=", "System.Private.DataContractSerialization.wasm": "sha256-IG/Qvl4VG/fdA87zFaTu+j+6pNS8DBckX3ZL0moVZaU=", "System.Private.Uri.wasm": "sha256-aSJUBQBcLqhN2KE2156Pv5ATvZ73jgBY8dw2PUuqnZo=", "System.Private.Xml.Linq.wasm": "sha256-R28g0y4C5Rw/Eh90Mzk1V/jd5B6NaEuUMRt81dVRYdc=", "System.Private.Xml.wasm": "sha256-Gt1UPIRI2rwH1yOd1Xl3nw5pmkil3XuGGaUAJbzRaFA=", "System.Reflection.DispatchProxy.wasm": "sha256-+qIyrCPfqEVWzehgKTI714y2I2ZPrLwObZjxRZZaS+0=", "System.Reflection.Emit.ILGeneration.wasm": "sha256-L2DDElw8FBEm3s0NWjc2SmIejhmkF9qkfB1+00jGaCk=", "System.Reflection.Emit.Lightweight.wasm": "sha256-q+JNTZzqBQ1rwSiBTNhi+wz40TQOPIr/2PRMjz7XneA=", "System.Reflection.Emit.wasm": "sha256-ArSMZiq+TgRv80QMpeORza3FGlNd/AjmNN+b2h+3aak=", "System.Reflection.Extensions.wasm": "sha256-wiv0K3DV9eU6G2sGvGkLCiytq02oQs6JmnwrswJMs6k=", "System.Reflection.Metadata.wasm": "sha256-gX+1Kw2XFwLJz2fVGm11MDnCxDVEZL2BJhd3BCdGo6Y=", "System.Reflection.Primitives.wasm": "sha256-+DwBOw183koJf/yAmy3nUMqBVVdu2g2xbNhqdRll+4o=", "System.Reflection.TypeExtensions.wasm": "sha256-Xwpxn/YqB/TQKXf+CjcUhZDWCPk0wDRCAj88dPoIVeo=", "System.Reflection.wasm": "sha256-6E0zQ1wUsEmZ8P8kQE9U26oe+g043/rmi+ByyJma/08=", "System.Resources.Reader.wasm": "sha256-6yuA3O28CHkZPYdePsqNYWYo++12BRH0GK3vhk6FjJM=", "System.Resources.ResourceManager.wasm": "sha256-UgUTGHNaMEcgT7Wa6+TQvxf6nsJ5oWEcAK3zP9R98II=", "System.Resources.Writer.wasm": "sha256-qDJQIt7ocB9FGhogGInJVXAh4r8Tut1g1KQTAjb0wE4=", "System.Runtime.CompilerServices.Unsafe.wasm": "sha256-94V5LnAfUYn/4HcLIXKkzmcAgAp8bhKCgN3Md0NOxMg=", "System.Runtime.CompilerServices.VisualC.wasm": "sha256-TqKB/B+be0h3zEzV4IVJ1PztQkAkrN62l6+Xujb2FWM=", "System.Runtime.Extensions.wasm": "sha256-okRG0tt9WdBAQ1TAUn0LbEQOgC1iC7YNojlzE4Kbm+g=", "System.Runtime.Handles.wasm": "sha256-lhWYTwl/i9trVt5NmJqSXsnn3lJ1hLVKFBBnP38XY4w=", "System.Runtime.InteropServices.JavaScript.wasm": "sha256-N8BMOXknvjES0b+Kp9R+Pai5xYIQYZFcN9wlWdfytBQ=", "System.Runtime.InteropServices.RuntimeInformation.wasm": "sha256-+RYpcWEi31o0ai3TRv43Y7Jf1o9WC8CirCxVA3WQjKE=", "System.Runtime.InteropServices.wasm": "sha256-nyF5VvG96SjBkM5QZvB5uUbQRYty7tsCvV3iYgghUNQ=", "System.Runtime.Intrinsics.wasm": "sha256-ZB2p7vxBpJUDj2O++xkznO5lXfYg3VriCETVl6gsAH0=", "System.Runtime.Loader.wasm": "sha256-aNdcl1RGNQ/5aU9ZQSatFqsgRAgrfG7xs2LqOtiOMvA=", "System.Runtime.Numerics.wasm": "sha256-EEJvAytk7+bQ6h2UNOwwJkei5V6kR+SPzxMIPnCRPIA=", "System.Runtime.Serialization.Formatters.wasm": "sha256-9exQW4DMhHITx3P7uLLi5ellbffAKIgYlmAsLEih9Iw=", "System.Runtime.Serialization.Json.wasm": "sha256-VcT5xEEdoC5EIRjE1U3qb+kywGLrGxsWiZV7SmP5RZQ=", "System.Runtime.Serialization.Primitives.wasm": "sha256-1AvQ+GSrV7zYoOMfMrzsmkbbvKvKxM6TFMvrMMmoyq0=", "System.Runtime.Serialization.Xml.wasm": "sha256-WDB5bPHHkgYrn2RqJZ/s23w/2tV5crjjlk1avZdRun8=", "System.Runtime.Serialization.wasm": "sha256-TKIIgCaG+tPXzBYK8xurhrVkVA5cU2+U+ZsWZht+Co0=", "System.Runtime.wasm": "sha256-z6c3mw7tvrcNyR4Vt2aQivwSGoY1qr+y7Fqf1SW3loQ=", "System.Security.AccessControl.wasm": "sha256-TBIe++qtDDTTxDS4/BHOIyh/JYIpvqCk+KoHldzFCNM=", "System.Security.Claims.wasm": "sha256-JVXEkH7xaudenu5OPi4/7PnhxlutIdunI8wlrXSLSRQ=", "System.Security.Cryptography.Algorithms.wasm": "sha256-8c0hg5CNlVydS+QRUXdIkM70fmuOmwq+4MZMMvhYEAs=", "System.Security.Cryptography.Cng.wasm": "sha256-y92iKE9a9yEYKDE8Ch8lw8cOruFzPla9sXqMbPHPnW4=", "System.Security.Cryptography.Csp.wasm": "sha256-WaGj+sR81pEHPGcczJ51RzVm8UyD8zAge3Twc0hmrO4=", "System.Security.Cryptography.Encoding.wasm": "sha256-CaJNByS/zJaux02o/2kp0biy4Tyaxq5klk7n/tm1rF8=", "System.Security.Cryptography.OpenSsl.wasm": "sha256-6+X5fPbAQVNoRL7hbF+W8Kw3W9ftrYumx+MUn+4uNzM=", "System.Security.Cryptography.Primitives.wasm": "sha256-podoQ65AejvNMN1xMpDxGVBY+sU241J+qDKX71dBaE0=", "System.Security.Cryptography.X509Certificates.wasm": "sha256-KExztAX7AYerrIzql2VFEEWQ0b9w4npvOazNl8FFZ1o=", "System.Security.Cryptography.wasm": "sha256-1X0s+bi3Pw8qLgCWxi8zTJv14tvVgD6N6dCXGtzZmwI=", "System.Security.Principal.Windows.wasm": "sha256-eInDotOzkYqkiFDi/CXdzIAz1zsFcdV96ur+kt1g6vI=", "System.Security.Principal.wasm": "sha256-qJA7NmzePkuipJPj/ZMKoaANWHatj1+rmQ5x9dEkRXY=", "System.Security.SecureString.wasm": "sha256-niAeiYMK7mEqPp80ydzYNff92+whpTWcNB4770dFn9M=", "System.Security.wasm": "sha256-/wHKvffOQy9TFImiwtvy6XJZ1XBZVc3iJXQ8/pCJl3c=", "System.ServiceModel.Web.wasm": "sha256-SraEgO1MjpOpWOXtZgkN+ZNmrggDRIB8T7KdlbH+4Ro=", "System.ServiceProcess.wasm": "sha256-NWlsB81BFv8bf8GHxzWH2zS2fjaRHMYziM7w9rQt2bg=", "System.Text.Encoding.CodePages.wasm": "sha256-+OBa72luH5WneK0iMapSgLCx2gTsPHPT9mYyuB4ny8Y=", "System.Text.Encoding.Extensions.wasm": "sha256-Q9HTGk/PbTDuWpcaN8X9E/3ps/Nrb1IAE+NpJbMEuOo=", "System.Text.Encoding.wasm": "sha256-rh2RIQsx3c4hdQN8DhbakqwCgL4NGS0ccQVlOSxdOZw=", "System.Text.Encodings.Web.wasm": "sha256-EM6wFZaA4/wDkrZQOm3U5lUCe3C6GYAVX2OqXjDUknE=", "System.Text.Json.wasm": "sha256-pP2xiL+mKvdYdRr76wzEt7GuQZgOKOeU/YhM520XHb0=", "System.Text.RegularExpressions.wasm": "sha256-GrWSLWHZcBLpbro+eshZ3yNMy+4guKDBgeKq1e8qD0w=", "System.Threading.Channels.wasm": "sha256-lRnLZTh9GHzxduKwPP7Ths7Y96JpUxByYyeMyRL3lc4=", "System.Threading.Overlapped.wasm": "sha256-XDZuGIPeGkzP/jLVrGeTGxXX5aXTS4KxZ2WMxRS716E=", "System.Threading.Tasks.Dataflow.wasm": "sha256-x+9kT93diUg6D1f8zqaymiFHfZ9jGQ9BPPP8JIllEB8=", "System.Threading.Tasks.Extensions.wasm": "sha256-VeX8gobXZSZPNkfSrJlVvlu+dQIN8PVf1Rpopw3GuJs=", "System.Threading.Tasks.Parallel.wasm": "sha256-n+1ZQwM3AE8wc+hYXmbw3dvj0yqCWPpUvTZ0Kv+rf1E=", "System.Threading.Tasks.wasm": "sha256-gHfRWFSAEvq0OFnc4Xx+Gk4RgRYUY6k1Zw1e6RRVfXY=", "System.Threading.Thread.wasm": "sha256-Ym+3zQNp1ER1wXUwjEBU/wlRd5k0AtnesCYOaHXIAf0=", "System.Threading.ThreadPool.wasm": "sha256-FighgBVweH1xqvCLE4RsUkP+GYZkd0++BSqluFbliFA=", "System.Threading.Timer.wasm": "sha256-y0y97DjGGoLX/9Xz+hUoOPshXvjJT7DsKu+yBNNbJhg=", "System.Threading.wasm": "sha256-xY/lXbhYkOYR5RcHyUBYT8NShyDqC5xUnrBXHzhdaTU=", "System.Transactions.Local.wasm": "sha256-hTHgNBYWDgOx7hM+hWj5dfllPuqNoROFL5WNXNfB3DQ=", "System.Transactions.wasm": "sha256-sJ4gPLwc7PQjjrqGKcNSA0CxeaM3Dfnh/9063rVSUHg=", "System.ValueTuple.wasm": "sha256-ncFkLbFEog0Fql3efzjNCJUlZQuKaTUTaNhU2BvAnj4=", "System.Web.HttpUtility.wasm": "sha256-/RhEOgOAfSb5op2ezyGmJJew8BHrXkLwm1sywrm52Eg=", "System.Web.wasm": "sha256-Ws9uqCkHdsL0GW7xtGO57zfmF9L6tNubk6RgdJN6SDU=", "System.Windows.wasm": "sha256-JCLumiVR0G3QqVQxEvyaPQpeP9vx8ZUAIwxDAN1FTTQ=", "System.Xml.Linq.wasm": "sha256-I/uA8I27uco+TldFQK9pRUm5pikOw4PWmlf2llJt06o=", "System.Xml.ReaderWriter.wasm": "sha256-hRg12RnbPaHmEAthGjbvJDYQ7OETYmDUv/LQwR60MCY=", "System.Xml.Serialization.wasm": "sha256-tEm9kOXaA+gJr5opp24qAgK2sXUgQE4lKmD/OR/eTB4=", "System.Xml.XDocument.wasm": "sha256-r/I8FFVU76i9cgFtqCOfvAw4t70uRYXblByHy9kup3I=", "System.Xml.XPath.XDocument.wasm": "sha256-eqeMmVnn9hVPk5zE1CAju0VQp/Ygx9AjAyGZEZrPKqw=", "System.Xml.XPath.wasm": "sha256-1e8LQ+nbhOTGjOxcCtC/meerugoDGiCELaREkp9z1l8=", "System.Xml.XmlDocument.wasm": "sha256-Ry7IaGa2fYMgPApglrddCDBkvh52iTSthAV7MRIXk2k=", "System.Xml.XmlSerializer.wasm": "sha256-/HEYTrWFBT/roe+6Dz2nKODjX8jzr0urCZjBzcA8/n8=", "System.Xml.wasm": "sha256-E2sZQLw7F7l+4N91sTmyZSD+Rj1xGfh0pImW4HHeMtw=", "System.wasm": "sha256-ymhQp3wTXXG9bV/o4UYsVhb/f25jV2bsMqRITiwFGM8=", "WindowsBase.wasm": "sha256-AJrqx4N0R4SjJ50H0wdgr0lCvvhOSYbIdFnIbsGxCKQ=", "mscorlib.wasm": "sha256-fLbZiSHBNdpHoh4EgRqMaNP5NQyIK5TEj6AXFLqo8m8=", "netstandard.wasm": "sha256-d4xbAE8qrKq5euUoZHPO+jkYPjlCYBzUew45MKsYKic=", "System.Private.CoreLib.wasm": "sha256-8yi6NcX1lkNQgV4WKjnMBYIZyKh4P+OXnXVQmgxGZD4=", "ClassLibrary1.wasm": "sha256-hUMCREmcdle6WGsZDah8zyF9dZtUFW8v0/lksUzKk/0=", "BlazorApp5.Client.wasm": "sha256-0Lpx0J+o0kaTEK+eUGT1Y+9B57Ne0wUg/cohrJxcmrQ=" }, "pdb": { "ClassLibrary1.pdb": "sha256-9X8En/nxvYz6c+2YR+nLqEQkwCNuiOdWG1fCQ2kLlNM=", "BlazorApp5.Client.pdb": "sha256-sEXVIV1XQZ39AbAGLSErZlrWjkb8s1kFKwLslbjFarc=" }, "satelliteResources": { "it": { "ClassLibrary1.resources.wasm": "sha256-1mmGELhpyKK7qDBz61J98H7KPTEPR8SBpwaoxIWG2zA=" } } }, "cacheBootResources": true, "debugLevel": -1, "appsettings": [ "../appsettings.Development.json", "../appsettings.json" ], "globalizationMode": "sharded", "extensions": { "blazor": {} } }
  • Publish
    { "mainAssemblyName": "BlazorApp5.Client", "resources": { "hash": "sha256-xJRCaJZbRKA0M+XCyCbXSv9pE4KUbs7UWVMTndDRtEM=", "jsModuleNative": { "dotnet.native.8.0.7.37dkch2d2y.js": "sha256-tFsxPBbhkdn6GKNBKvCRLzrfAHdyM86odYTe0MtrwMk=" }, "jsModuleRuntime": { "dotnet.runtime.8.0.7.urcsr75yt5.js": "sha256-soZyw6XWXOLKhA26AOyzSpCP5cAsw1wvhdPHSYNTMfQ=" }, "wasmNative": { "dotnet.native.wasm": "sha256-ApuqKsuYqEC0ZTUIUV5mIV1IIRYYCwmOiB912jgs8CQ=" }, "icu": { "icudt_CJK.dat": "sha256-SZLtQnRc0JkwqHab0VUVP7T3uBPSeYzxzDnpxPpUnHk=", "icudt_EFIGS.dat": "sha256-8fItetYY8kQ0ww6oxwTLiT3oXlBwHKumbeP2pRF4yTc=", "icudt_no_CJK.dat": "sha256-L7sV7NEYP37/Qr2FPCePo5cJqRgTXRwGHuwF5Q+0Nfs=" }, "assembly": { "BlazorApp5.Client.wasm": "sha256-0Lpx0J+o0kaTEK+eUGT1Y+9B57Ne0wUg/cohrJxcmrQ=", "ClassLibrary1.wasm": "sha256-hUMCREmcdle6WGsZDah8zyF9dZtUFW8v0/lksUzKk/0=", "Microsoft.AspNetCore.Components.wasm": "sha256-R+X1YcbOC7L9UYmFSTJz20DBYoWgGNm/pfbz2AnuXNk=", "Microsoft.AspNetCore.Components.Web.wasm": "sha256-H/ZT/EVp1OmO56oU7wvyURRh1vLTkEeq6z8fTwV/wjo=", "Microsoft.AspNetCore.Components.WebAssembly.wasm": "sha256-dtMKdp+zCD/nm31aCCxcnAdk874iKxIJGF8wgKRcC0o=", "Microsoft.Extensions.Configuration.Abstractions.wasm": "sha256-ngS20nZS6TE120xrLcCWBVtD5klEmipYmbBNe1/8SO4=", "Microsoft.Extensions.Configuration.Json.wasm": "sha256-uTP2GNwshFP/pUX6cJy3JlhnnAaKNNx2hluQS9w+7iw=", "Microsoft.Extensions.Configuration.wasm": "sha256-9KgH1RtZuStA0KY607iHLLbmnTTsyMt+Ns/iSj95ijk=", "Microsoft.Extensions.DependencyInjection.Abstractions.wasm": "sha256-D/R4wmD+tjSAp9IrfJ0aIm13c9gIyyn5o7qQQhzQwMM=", "Microsoft.Extensions.DependencyInjection.wasm": "sha256-4Q7MT9Wn0/RJGouhLlM9iM+c5eyXTeuxjaWBsJ7IWG8=", "Microsoft.Extensions.Logging.Abstractions.wasm": "sha256-5MLxvdJL0l8bQuwZ5T7vioZBWglA6YD0bWFyVmdHwF0=", "Microsoft.Extensions.Logging.wasm": "sha256-qNDj7TeIbXw2ACtB7M5Rm/ID+43/fXdTFtgngcWvAPA=", "Microsoft.Extensions.Options.wasm": "sha256-E5Befpxa9TGvkvQk4Cg6Yt1gBWh/Bwo9qQJ7pAOWYQ4=", "Microsoft.Extensions.Primitives.wasm": "sha256-enTkcmyDb/8kWZGYJc7PxD+CrVsI7jNc6SfMSWxG8p4=", "Microsoft.JSInterop.wasm": "sha256-4w7fNxh4LbfaVKB5xlxe0gFtpaMbr+vbTRm8acO++WE=", "Microsoft.JSInterop.WebAssembly.wasm": "sha256-VfnPwr5W0zALIwPJxY9ZWcmYMVCTnFYl4mf48lJoBBw=", "System.Collections.Concurrent.wasm": "sha256-bsTUOLR7rbfGQfDwqn77H6hN6vG1aWOou3IjrsolavU=", "System.Collections.wasm": "sha256-7YMEo2gTkS/lb+KhNA/BB0HC+qogxS6anlXUnoCKRIc=", "System.ComponentModel.wasm": "sha256-v8H7Syin2/71qXj/crjWtAI0k51ij82G0hwQOSwqwWM=", "System.Console.wasm": "sha256-MgFzz7124fiUNSXwuqDlgztGJtbTeWM03SUnb5NOKok=", "System.Diagnostics.DiagnosticSource.wasm": "sha256-qIFd8A8M5vIQB3gaAY+4fv5jDk6v0RB7NIca2KsiY5s=", "System.Linq.Expressions.wasm": "sha256-GQt+sJe3gamEGM2jgN+LgYHJUfeSKoLGXxMZ8+eWycE=", "System.Linq.wasm": "sha256-CzbUTX9GtidOXCkUnQ6lFyqVjXWomZXDtVJzlTVFubs=", "System.Memory.wasm": "sha256-pOTP75ZdcM4DeA2FGnHyfBxVX0NTBC0PdKaDq8/E/ZI=", "System.Private.CoreLib.wasm": "sha256-CEMi95NKjCebshqX4C+nvckC4udKsfrfjY9gpjdcZP0=", "System.Private.Uri.wasm": "sha256-ny6fFi0+aE7VVqqwHmBVU2h2oiQhsa0a8nUMPusmEqY=", "System.Runtime.InteropServices.JavaScript.wasm": "sha256-qWzaElsWAgAViHvK5ramIggrRvHgTUgxKXgUrPB7txE=", "System.Runtime.wasm": "sha256-TAOfBlZAjFjFMQ/35UWAzMPxRAoIPc+bXRHkqFlGi5Y=", "System.Text.Encodings.Web.wasm": "sha256-/5L56qd/y3khJcRmtKcYhWaojonhLAZXKI+DMXwuMf0=", "System.Text.Json.wasm": "sha256-XnkwSzB55YWS/dMF63s/IsRBxvDP5g/DtatMTya6KSk=", "System.Text.RegularExpressions.wasm": "sha256-O5/eg8mdRwdf2+ZkEFbnL/deZdjnRbIJI2IwktUpId4=" } }, "cacheBootResources": true, "debugLevel": -1, "linkerEnabled": true, "appsettings": [ "../appsettings.Development.json", "../appsettings.json" ], "globalizationMode": "sharded", "extensions": { "blazor": {} } }

Note the missing section "satelliteResources"

@javiercn javiercn transferred this issue from dotnet/aspnetcore Aug 5, 2024
@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Aug 5, 2024
@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Aug 5, 2024
@javiercn
Copy link
Member

javiercn commented Aug 5, 2024

@maraf note that this is 8.0

@maraf maraf self-assigned this Aug 5, 2024
@maraf maraf added arch-wasm WebAssembly architecture area-Build-mono os-browser Browser variant of arch-wasm and removed untriaged New issue has not been triaged by the area owner needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Aug 5, 2024
@maraf maraf added this to the 9.0.0 milestone Aug 5, 2024
@maraf
Copy link
Member

maraf commented Aug 15, 2024

The problem is that ResolveAssemblyReference task doesn't find the PDB and resource assembly when running in nested publish. Because ResolveAssemblyReferencesFindRelatedSatellites=false for nested publish. The property value is inherited from BuildingProject property which is false for nested publish (which makes sense).

Between 8 and 9 there was the change how assemblies are processed between Wasm SDK and workload. Introduced in #90436. Previously MSBuild items computed by workload where ignored and SDK was always using "ResolvedItemsToPublish". Now it is using assemblies computed by workload, those are missing satellites, because these are not discovered in nested publish.

blazor-publish2.binlog.zip

Interesting fact is that ResolvedFrom is {RawFileName} for satellite assembly from reference which results in incorrectly computed RelatedAsset for StaticWebAsset

....\BlazorSatelliteAssemblyReference\ClassLibrary\bin\Debug\net9.0\es-ES\ClassLibrary.resources.dll
    Version = 
    ResolvedFrom = {RawFileName}
    CopyLocal = true
    DestinationSubDirectory = es-ES\
    OriginalItemSpec = D:\Development\BlazorSatelliteAssemblyReference\ClassLibrary\bin\Debug\net9.0\ClassLibrary.dll

I checked with .NET 7 and doesn't work there either.

@maraf
Copy link
Member

maraf commented Aug 20, 2024

@davidegolzi Are you upgrading existing project (from .NET 6 or 7) where it worked or did you discover it newly?

@davidegolzi
Copy link
Author

davidegolzi commented Aug 20, 2024

@davidegolzi Are you upgrading existing project (from .NET 6 or 7) where it worked or did you discover it newly?

@maraf the demo solution linked is a fresh new WebApp .NET 8

@maraf
Copy link
Member

maraf commented Aug 20, 2024

Ook, so you found it on a new project. I'm trying to find if it ever worked for blazor and it seems it did not

@davidegolzi
Copy link
Author

Ook, so you found it on a new project. I'm trying to find if it ever worked for blazor and it seems it did not

@maraf i first discover the issiue in a WebApp project creted with the .net8 preview that is a big project. so i create e new project as a samble to better illustrate the issue

@dotnet-policy-service dotnet-policy-service bot added the in-pr There is an active PR which will close this issue when it is merged label Aug 20, 2024
@davidegolzi
Copy link
Author

@maraf happy to know the issue is being fixed in .net 9, in the meantime there is a work around or some tricks to make this work on .net 8?

@maraf
Copy link
Member

maraf commented Sep 25, 2024

@davidegolzi I'm sorry I missed your last message. If you are still looking for a workaround, this added to your blazor (wasm) csproj should do the trick for .NET 8 SDK

<Target Name="FixResourcesResolvedFrom" AfterTargets="ResolveAssemblyReferences">
  <ItemGroup>
    <ReferenceSatellitePaths Condition="'%(ReferenceSatellitePaths.ResolvedFrom)' == '{RawFileName}'">
      <ResolvedFrom>%(OriginalItemSpec)</ResolvedFrom>
    </ReferenceSatellitePaths>
  </ItemGroup>
</Target>

Let me know if it works for you

@davidegolzi
Copy link
Author

davidegolzi commented Oct 11, 2024

@maraf I'm sorry too for the late response.
Unfortunally the proposed workaround do not work for me.
I tryed to look into the verbose compile log during publish and for what i was able to understand the [assembly].resources.wasm was creted and compressed, but is not placed in the publication output and so eaither in the blazor.boot.json

Do you have other suggestions?
We are going in production with our software in a couple of month and i don't want to create some strange release pipeline fo our costumer. like (build -> zip wwwRoot_framework folder -> publish -> overwrite the wwwRoot_framework folder).

Feel free to checkout the project linked in this thread ad make the workaround if there is one so i can have a workink solution to check

Thanks for your time

@davidegolzi
Copy link
Author

@maraf i Try to change

<Target Name="FixResourcesResolvedFrom" AfterTargets="ResolveAssemblyReferences">
  <ItemGroup>
    <ReferenceSatellitePaths Condition="'%(ReferenceSatellitePaths.ResolvedFrom)' == '{HintPathFromItem}'">
      <ResolvedFrom>%(OriginalItemSpec)</ResolvedFrom>
    </ReferenceSatellitePaths>
  </ItemGroup>
</Target>

change {RawFileName} with {HintPathFromItem} make the workaround working
Thanks
:)

@github-actions github-actions bot locked and limited conversation to collaborators Nov 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Build-mono in-pr There is an active PR which will close this issue when it is merged os-browser Browser variant of arch-wasm
Projects
None yet
3 participants