Understanding .NET assembly signing
-
15-06-2021 - |
Question
This question is about the public key that every .NET assembly has AFAIK (looking at DLL in notepad [at bottom is public key])
I understand what signing is and why it is there in .NET, but I am working on a plug and play (plugin) project. I understand how to use System.Type
and such to make a plugin system.
But my question is about the how the plugins will work with some "API's" I write (notice quotes), like access to the app's internal routines itself (like an operating system).
Now for the question: If on an app update, the updater replaces the "API" DLL with a newer version, would that break the plugins because of the signiature? (If so, I am perfectly fine with writing a little code file that uses System.Type
that they put in their plugin to access the "API")
Solution
If you are looking to create a plugin architecture, I suggest you take a look at MEF (Managed Extensibility Framework) from MS.
The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.
MEF makes it very easy to create an application that uses plugins.