[MonoDevelop] [PATCH] - enable out-of-project files inside of a project

Michael Hutchinson m.j.hutchinson at gmail.com
Mon Sep 11 06:28:29 EDT 2006

On 9/11/06, Chris Morgan <cmorgan at alum.wpi.edu> wrote:
> This is a preliminary patch to allow out-of-project files to be added to a
> project.  This is useful when trying to move common classes to a directory
> outside of a given project.
> The patch removes the code that was preventing users from adding files from
> outside of their project directory.  I also added an option to the 'add'
> dialog to "Link" a file, beside the existing options to "Copy" and "Move'.

This is an interesting and useful idea, but I wonder what implications
this has on other parts of MD, for example those that use
project-relative filenames. When should code use the 'real' filename
and when should it use the 'project' filename? A more robust solution
would probably be to create actual filesystem links, so that either
can be used to access the file.

> MD can now successfully add the files to the project, they show up in the
> treeview and the solution compiles properly.

There's a usability issue here. In the treeview there needs to be a
special icon for linked files, and a way of editing the link.

> What I can't figure out is why this change seems to be causing mono to
> segfault when one of the linked files is removed but not when removing a
> non-linked file.  I'm using mono from svn and mcs from svn, updated tonight.
> I tried running mono under gdb but the stack trace wasn't very clear, the
> segfault occurred in the garbage collector so maybe memory that was in use by
> gtk-sharp was freed?

Could you post this segfault? It may be something to do with the
issues I mentioned above.

> I don't understand monodevelop code well enough to know where to look for the
> issue but I was hoping someone would be able to lend a hand so we can get
> this useful feature implemented.

No problem, I'm happy to give you pointers.

Michael Hutchinson

More information about the Monodevelop-list mailing list