Skip to content

fix: default alc native assembly resolution (QUIC not working) - #44

Open
hazre wants to merge 5 commits into
masterfrom
hazre/fix/default-alc-native-resolution
Open

hazre wants to merge 5 commits into
masterfrom
hazre/fix/default-alc-native-resolution

Conversation

@hazre

@hazre hazre commented Sep 13, 2026

Copy link
Copy Markdown
Member

This should fix the issue of QUIC not working on linux. I also made the bepisloader logger a bit nicer and for it to always to log regardless of debug or not, so future bug reports are easier.

quic stuff is part of System.Net.Quic meaning it loads as part of standard .NET "default" ALC (AssemblyDependencyResolver).

usually that just works since its shipped with dotnet itself but I guess quic requires some system libs for it to work (on linux).

basically #32 only so far has handled native libs that directly get loaded by resonite itself (managed ALC) as part of AppDomain.CurrentDomain.AssemblyResolve fallback, so we never overrode/handled the default ALC.

The fix is rather simple but I'm very surprised that this hasn't exploded in our faces a lot sooner.

@hazre
hazre requested a review from art0007i September 13, 2026 22:17
@github-actions

github-actions Bot commented Sep 13, 2026

Copy link
Copy Markdown

Download the artifacts for this pull request:

@art0007i art0007i left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice fix, that's kinda weird that System.Net.Quic loads outside of our ALC... does it get loaded even before bepisloader? I would think not, so maybe we could be able to load it inside the ALC? or does dotnet have some weird hardcoded behavior around their own system dlls?

Comment thread Runtimes/NET/BepisLoader/BepisLoader.cs
@hazre

hazre commented Sep 14, 2026

Copy link
Copy Markdown
Member Author

I'm pretty sure default ALC is the entrypoint, which in our case is BepisLoader.dll. But I rather avoid a hardcoded fix. that's more or less same thing as Hardware.info fix we had back in the day.

This fix is dynamic, so it will work with any future reso version regardless of what they add or remove.

@hazre
hazre requested a review from art0007i September 15, 2026 05:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants