Skip to content

Allowing plugins to be used as dependencies to other plugins#16

Merged
sylvessa merged 4 commits intosylvessa:feature/plugin-apifrom
UniversePM:feature/plugin-api
May 6, 2026
Merged

Allowing plugins to be used as dependencies to other plugins#16
sylvessa merged 4 commits intosylvessa:feature/plugin-apifrom
UniversePM:feature/plugin-api

Conversation

@UniversePM
Copy link
Copy Markdown

Description

This PR allows plugins to reference each other as a dependency in .csproj

Changes

Previous Behavior

Previously, you could not easily reference other plugins within your plugin (such as communicating with an API)

Root Cause

Loading dependencies did not account for plugins, meaning it would try to load the same plugin twice

New Behavior

Load() in PluginLoadContext now checks to see if the assembly is already loaded

Fix Implementation

I added a foreach statement that basically loops through the AssemblyLoadContext to make sure the wanted assembly isn't already loaded

AI Use Disclosure

AI was used to guide me through how System.Reflection works and to find the root cause of the problem. The PR is not vibe-coded, and the code is not generated by AI.

@UniversePM UniversePM marked this pull request as draft April 26, 2026 19:41
@UniversePM UniversePM marked this pull request as ready for review April 26, 2026 20:15
@sylvessa sylvessa merged commit 50ab359 into sylvessa:feature/plugin-api May 6, 2026
1 check passed
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