Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow loading assemblies without an assembly location #178

Merged
merged 6 commits into from
Dec 2, 2021

Conversation

thhous-msft
Copy link
Contributor

@thhous-msft thhous-msft commented Nov 30, 2021

Closes #177

There are cases where the assembly containing a plugin type might already be loaded. In this case, it would be nice to be able to add the type directly, rather than loaded from a folder. Additionally, there are cases where the plugin assembly might not even exist on disk (This is the case with single file executables). In this case, the type has to be loaded explicitly. There is a way to do this for a single plugin using an IAssemblyLoader, but that fails if the type doesn't have a location. This fixes, so the type can always be loaded.

Co-authored-by: Nick Banks <nibanks@microsoft.com>
@mslukebo
Copy link
Contributor

mslukebo commented Dec 1, 2021

This change introduces a large shift in how we think about/interact with plugins, and it's not clear if we want to support loading plugins from executables. I think the current desire is to have plugins be a set of DLLs sitting in some directory.

@nibanks
Copy link
Member

nibanks commented Dec 1, 2021

Our (the MsQuic team) goal here is to have the ability to produce a single EXE binary that can be used to process ETL files, without any additional installation requirements. This change is required to achieve that goal as far as I can tell.

@thhous-msft thhous-msft changed the title Add method to explicitly specify assemblies to load as plugins Allow loading assemblies without an assembly location Dec 1, 2021
@mslukebo mslukebo merged commit 3bf0253 into microsoft:main Dec 2, 2021
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.

Support Single File .NET Executables
4 participants