VitalElement / CefGlue.Core

Port of CefGlue to .net Core
88 stars 23 forks source link

Unable to load DLL 'kernel32.dll' on Linux #13

Open Simon-Thompson opened 5 years ago

Simon-Thompson commented 5 years ago

Hi, I tried building and publishing CefGlue.Samples.Avalonia from this repository. I found it runs fine on Windows 10, so then I published targeting Ubuntu 18.04 x64. When I tried running it, I first got the "Unable to load DLL 'libcef'" error, which I saw was fixed by https://github.com/VitalElement/CefGlue.Core/issues/9#issuecomment-429806668

Immediately afterwards, I get the above error: Unable to load DLL 'kernel32.dll'. I tried manually adding it, but no dice. Have you encountered this issue, and if so do you know of a solution? I want to get your project running on Linux. Any help is appreciated, thanks

NicoVIII commented 5 years ago

As far as I saw this is a problem, which happens because CefRuntime::DetectPlatform returns always Windows. This should be solved by this code:

private static CefRuntimePlatform DetectPlatform()
{
    if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) {
        return CefRuntimePlatform.Linux;
    } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) {
        return CefRuntimePlatform.MacOSX;
    } else {
        return CefRuntimePlatform.Windows;
    }
}

I'm trying to make it work on linux (in a fork for now), but there are other issues after fixing this problem I am currently not able to solve.