Tengo una aplicación/solución con varios proyectos internos (.NET 6 - Blazor WASM autohospedado) Puede compilarse y ejecutarse en la depuración sin ningún problema.
Ahora, traté de publicarlo para probarlo en algunos de nuestros servidores locales, e intento publicarlo en una carpeta y ejecutarlo como un .exe.
El problema es que, cuando trato de publicarlo, en algún lugar después de compilarlo con éxito, recibo el siguiente error:
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 C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.BlazorWebAssembly\targets\Microsoft.NET.Sdk.BlazorWebAssembly.6_0.targets(412,5): Error : System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at Microsoft.NET.Sdk.BlazorWebAssembly.ComputeBlazorPublishAssets.GroupExistingStaticWebAssets(Dictionary`2 assemblyAssets, Dictionary`2 nativeAssets, Dictionary`2 satelliteAssemblyAssets, Dictionary`2 symbolAssets, Dictionary`2 compressedRepresentations) at Microsoft.NET.Sdk.BlazorWebAssembly.ComputeBlazorPublishAssets.Execute()Alguna idea de lo que podría causar esto ? Estoy usando VS 2022 (Enterprise).
Este error se parece mucho a un problema abierto #37610 - La compilación de Blazor AOT falla en ComputeBlazorPublishAssets.GroupExistingStaticWebAssets
Estos son los pasos para diagnosticar más a fondo el problema:
Puede capturar un registro binario con
dotnet publish /bly use el visor de registros estructurados de MSBuild para ver la tarea ComputeBlazorPublishAssets. Dentro de allí, si expande los parámetros, mostrará todos los activos existentes y podrá tener una mejor idea de lo que está sucediendo. (Verá el recurso duplicado)
Puede descargar el visor de registro estructurado de MSBuild desde aquí: https://msbuildlog.com/
yo recomiendo que no intenten aprender blazor, trae demasiados problemas, y cuando intentes actualizar tu proyecto te va a salir los erroes que más abajo que no los vas a resolver ni con la intenligencia artificial. Ahi te vas a dar cuenta que perdiste tu tiempo y que mejor era hacerlo con Angular y Laravel. Si no me crees pregunta a la si blazro da mas problemas que las otras tecnologías. MONO_WASM: instantiate_wasm_module() failed LinkError: WebAssembly.instantiate(): Import #38 "env" "mono_wasm_debugger_log": function import requires a callable
dt @ dotnet.runtime.js:3
dotnet.js:3 MONO_WASM: LinkError: WebAssembly.instantiate(): Import #38 "env" "mono_wasm_debugger_log": function import requires a callable
d @ dotnet.js:3
blazor.web.js:1 Error in mono_download_assets: LinkError: WebAssembly.instantiate(): Import #38 "env" "mono_wasm_debugger_log": function import requires a callable
Ar @ blazor.web.js:1
4dotnet.js:3 Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #38 "env" "mono_wasm_debugger_log": function import requires a callable
dotnet.runtime.js:3 Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #38 "env" "mono_wasm_debugger_log": function import requires a callable
2(index):1 Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #38 "env" "mono_wasm_debugger_log": function import requires a callable
blazor.web.js:1 Uncaught (in promise) Error: Failed to start platform. Reason: LinkError: WebAssembly.instantiate(): Import #38 "env" "mono_wasm_debugger_log": function import requires a callable
at ti (blazor.web.js:1:163721)
blazor.web.js:1 Uncaught (in promise) LinkError: WebAssembly.instantiate(): Import #38 "env" "mono_wasm_debugger_log": function import requires a callable