[MonoDevelop] assembly scout

Lluis Sanchez lluis at ximian.com
Fri Nov 23 15:06:29 EST 2007

El dv 23 de 11 del 2007 a les 17:14 +0100, en/na Martin Zaworski va
> Hi Oliver,
> first of all:
> http://www.monodevelop.com/TODO
> There you will always find some nice work for monodevelop :) I think 
> because of this:
> http://www.monodevelop.com/Survey_Results_2007
> the TODO list will be updated soon.
> I already started programming an "Assembly Browser". First it was just 
> an stand alone gtk-sharp Application using the cecil library and i am 
> currently including it to Monodevelops Addin System.
> Because i do this in my freetime and to learn some Desing Patterns for 
> study needs i decided to implement the Strategy Pattern using 
> Interfaces. I hope with this Pattern it will be possible to Browse 
> .NET/mono Assemblies, Java Packages and maybe later c/cpp sources and 
> header files.
> P.S. to the list:
> 1.
> If anybody thinks there is no need for such an "Allround Browser" let me 
> know. If somone things there is an easier and better way without 
> Strategy Pattern please also let me know.

I think the easiest way to implement this is to use MonoDevelop's parser
service. For example, you can do:

string assemblyId = IdeApp.ProjectOperation.ParserDatabase.LoadAssembly ("someAssembly.dll");
IAssemblyParserContext ctx = IdeApp.ProjectOperation.ParserDatabase.GetAssemblyParserContext (assemblyId);
ctx.UpdateDatabase ();	// To ensure information is up to date.
IClass[] classes = ctx.GetProjectContents ();	// To get all classes
IdeApp.ProjectOperation.ParserDatabase.UnloadAssembly (assemblyId);	// when you are done

If we someday want to add support for java and so on, we would extend
the parser service, not the browser, so all add-ins can take advantage
of it.

> 2.
> After some work with the Add-In System of Monodevelop and especialy the 
> Documentation of it, i decided to update some outdated references and 
> tutorials "Writing Add-Ins". Should i write such Tutorials offline and 
> send them to the list or is it possible to get acces to the 
> Documentation Part of the Wiki.

I'm going to create an account for you.

> 3.
> Something like an "Add-In" Wizzard would be nice i think. Just for 
> creating the addin xml files, adding some method names etc. I dont know 
> if anybody i looking out for that but i think: If there is such a 
> wizzard, someone wi

That's in my TODO list.


More information about the Monodevelop-list mailing list