Hi Steve, Cecil can definitely help. All in all in should be pretty straightforward.
Open plugin.dll with Cecil, iterate over all the types, iterate over all the methods who have a method body, iterate over all the instructions. If the instructions takes a field, a class or a method, and if their scope is api.dll, try to resolve (get the definition in api.dll from a reference in plugin.dll) them. If it fails, it's using an API that is not in api.dll Jb On Wed, Aug 12, 2015 at 11:00 PM, Steve Baer <[email protected]> wrote: > We have a plug-in architecture for our application and want to inspect > plug-ins (assemblies) to see if everything that the plug-in calls in our API > dll exists. The hope is that we can allow our API dll to change over time, > but as long as everything that a plug-in uses in this DLL still exists it is > okay to load the plug-in and execute it. > > I have a feeling that cecil can help with figuring this out, but wanted to > check with you guys first to make sure I'm going down the right path. > > Can cecil help make sure that everything in API.DLL used by PLUGIN.DLL still > exists in the API.DLL that exists on a user's computer? If so, any pointers > on classes or functions that I should be looking into in cecil? > > Thanks, > -Steve > > -- > -- > -- > mono-cecil > --- > You received this message because you are subscribed to the Google Groups > "mono-cecil" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- -- -- mono-cecil --- You received this message because you are subscribed to the Google Groups "mono-cecil" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
