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

Michael Hutchinson m.j.hutchinson at gmail.com
Mon Sep 11 10:07:10 EDT 2006


On 9/11/06, Chris Morgan <chmorgan at gmail.com> wrote:
> Visual Studio express doesn't create symlinks and I'm not a huge fan
> of adding extra files to my project directory.  imo the reason we have
> md project files is to keep track of things like where files are.

That's a valid point. However, the problem is integrating this feature
with MD's project file structure, because users (and some of the code)
expect it to be a mirror of the actual folder structure.

As I see it, there are three ways to implement this feature:

1. MD symlinks --  essentially you'll be duplicating the filesystem
functionality, by having symlinks in the MD project file structure.
You'll need a UI for users to see and edit the symlinks. The problem
here is that all files will have two paths, the 'project path' and the
'real path'. You'll need to do a review of all parts of MD code that
use the ProjectFile class (especially the Deployment APIs) to make
sure that they handle these paths correctly.

2. Filesystem links -- this is probably an easier and more robust
version of (1), because the 'real path' can be kept internal.
Everything else in MD should handle filesystem links, so can access
the files using the 'project path', and the code review won't be
necessary.

3. Don't put files in the MD file structure -- have a special
'virtual' folder (like the 'references' folder), possibly with
subfolders. You'll be making the nature of the file very explicit in
the UI, but this will probably make the code, especially deployment,
much more complicated.

Sorry if it sounds like I'm trying to make things difficult, but there
are lots of not-so-obvious complications to this.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list