OutSystems / CefGlue

.NET binding for The Chromium Embedded Framework (CEF)
MIT License
277 stars 41 forks source link

RDEV-6642 Make CefGlue SelfContained #149

Closed Vivokas20 closed 4 months ago

Vivokas20 commented 4 months ago

While testing ODC running on dotnet 8 we noticed that CefGlue needed the dotnet8 sdk installed to be able to run. This was due to a breaking change in dotnet 8 which made some apps no longer self-contained by default: https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/8.0/runtimespecific-app-default

Vivokas20 commented 4 months ago

@joaompneves Just for some more context this was the error we got when trying to run Studio on net8 image

After analyzing your comment me and @alvesmiguel1 went and check the Publish folder generated while building the CefGlue repo in ReleaseWPFAvalonia mode.

We noticed that the folder generated with net6 and without self-contained had roughly 80,5 MB and the one with net8 with self-contained=True had 82,2 MB. We also noticed that the libcef was not present on the Publish folder with self-contained=True. For this reason we believe it's ok to follow this implementation. Is there anything we might be missing?

Just for comparison building using net8 without self-contained=True yield a folder of only 2,1 MB which is clearly missing files we need.

joaompneves commented 4 months ago

@joaompneves Just for some more context this was the error we got when trying to run Studio on net8 image

After analyzing your comment me and @alvesmiguel1 went and check the Publish folder generated while building the CefGlue repo in ReleaseWPFAvalonia mode.

We noticed that the folder generated with net6 and without self-contained had roughly 80,5 MB and the one with net8 with self-contained=True had 82,2 MB. We also noticed that the libcef was not present on the Publish folder with self-contained=True. For this reason we believe it's ok to follow this implementation. Is there anything we might be missing?

Just for comparison building using net8 without self-contained=True yield a folder of only 2,1 MB which is clearly missing files we need.

Can compare with the previous version before introducing the .net 8 changes (can be this commit)?

Vivokas20 commented 4 months ago

Can compare with the previous version before introducing the .net 8 changes (can be this commit)?

Just checkout that commit, deleted bin and built again, the resulting folder also had the expected 80,5 MB image