excubo-ag / Blazor.Canvas

https://excubo-ag.github.io/Blazor.Canvas/
MIT License
220 stars 23 forks source link

Blazor / .NET 6.0 readiness? #155

Closed damageboy closed 2 years ago

damageboy commented 2 years ago

The current master + demo seems to fail for me.

When compiling locally with the official release of .net core 6.0 I'm getting crashes with chrome (Version 95.0.4638.69 (Official Build) (64-bit) ): image

With this in the developer console: image

Am I doing something wrong here?

stefanloerwald commented 2 years ago

Hi @damageboy,

Looks like I messed up the last update(s). Thanks for notifying me. I'll get to it in a few days. Until then, please revert back to older versions. If you use the source code to use this library, please try to remove the PrivateAssets="all" flag from the package reference of excubo.generators.blazor and see if that resolves it.

Thanks Stefan

wizardars commented 2 years ago

I tried to add excubo canvas to .net 6 template project with minimal API and it's worked. I just printed some text for test, and compiled with AOT. But my .net 5 project, which heavily uses canvas also have migrated without success. So I'm trying to figure out what happening here.

damageboy commented 2 years ago

Hi @stefanloerwald and thanks for responding. I manually reverted the PrivateAssets=All changes in the last commit and everything is indeed in order now...

I'll let you close this issue when you get to tweaking the .csproj files...

wizardars commented 2 years ago

Hi @stefanloerwald, strange, but my experience is different. Version 3.0.0 work, but failing with AOT, 3.0.2 version work everywhere, I migrated to .NET 6 with AOT. I don't know what I did specifically. Here are my steps: Since I found that installed web tools (AOT) interfere with normal compilation, I split the process into two virtual machines. One for development with VS, another for compilation, VS + AOT for AOT'ing. But now I delete these directories ". vs., bin, obj" before compilation. My results:

Framework FPS Size
.NET 5 2.7 10 MB
.NET 6 3.9 9 MB
.NET 6 AOT 40.4 49 MB
stefanloerwald commented 2 years ago

Hi @damageboy & @wizardars,

I've done some changes to the dependencies. Could you both please check whether everything works now as you expect it to?

Thanks Stefan

wizardars commented 2 years ago

Sure @stefanloerwald ,

ver:3.0.3, Compile chain:MONO, target platform:linux-64 Compiling: + Test: +

ver:3.0.3, Compile chain:WEB AOT, target platform:linux-64 Compiling: - (*) Test: -

(*) 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 70 assemblies [ApiGroupGenerator.dll] Exec (with response file contents expanded) in C:\CODE\TT\Web\Client\obj\Release\net6.0\linked: MONO_PATH=C:\CODE\TT\Web\Client\obj\Release\net6.0\linked;C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.0\runtimes\browser-wasm\native\;C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.0\runtimes\browser-wasm\lib\net6.0 MONO_ENV_OPTIONS= C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm\6.0.0\Sdk..\tools\mono-aot-cross.exe --debug --llvm "--aot=no-opt,static,direct-icalls,deterministic,dwarfdebug,llvm-path=C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.0\tools\bin\,static,llvmonly,interp,asmonly,llvm-outfile=C:\CODE\TT\Web\Client\obj\Release\net6.0\wasm\for-publish\ApiGroupGenerator.dll.bc.tmp" "ApiGroupGenerator.dll"

Failed to load method 0x6000011 from 'C:\CODE\TT\Web\Client\obj\Release\net6.0\linked\ApiGroupGenerator.dll' due to Could not load file or assembly 'Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.. Mono Ahead of Time compiler - compiling assembly C:\CODE\TT\Web\Client\obj\Release\net6.0\linked\ApiGroupGenerator.dll Run with MONO_LOG_LEVEL=debug for more information. AOT of image ApiGroupGenerator.dll failed.

stefanloerwald commented 2 years ago

Thanks @wizardars! This will require further investigation on my part... I'll let you know if I find something out, but unfortunately I will not be able to spend time on this soon.

wizardars commented 2 years ago

No problem @stefanloerwald , I'll use 3.0.2.

stefanloerwald commented 2 years ago

@wizardars There's a chance that v3.0.4 fixes your issue. Cheers, Stefan

wizardars commented 2 years ago

The new default project on .NET 6 works with v3.0.4, but my migrated project does not. Apparently, I incorrectly migrated to .NET 6. I'll have to figure it out later. So you can close the Issue. Thanks @stefanloerwald .

stefanloerwald commented 2 years ago

@damageboy Is everything fine for you now? If so, we can close this issue. Thanks, Stefan