[Monodevelop-devel] Patch allowing invisible solution items

Lars Magnusson lavima at gmail.com
Thu Oct 29 08:18:08 EDT 2009


Hi

I've created this small patch to make the development of a XNA addin
for MD easier. MS XNA projects all have a nested content project ie. a
dot net child project containing the game content. These content
projects are not referenced like a normal project in the Projects
section of the sln file. They are only represented in the
ProjectConfigurationPlatforms global section by only an ActiveCfg
configuration and no Build.0.

I managed to get things "working" without modifying the MD source, but
things got a bit messy and I had to duplicate working MD code. The
changes i've done to the MD source has removed several of these issues
 by allowing the content project to registered with the solution
without being "visible". The modifications shouldn't affect any
existing code.

The changes are:
- added property to SolutionItem called Visible
- added check to SolutionConfiguration set the Build property to null
if not Visible
- added check to SolutionNodeBuilder to not add non Visible solution
items to the project pad
- added check to SlnFileFormat to not serialize non Visible items

The problem remaining now since the project isn't referenced directly
in the sln file is that I get a warning when the solution is loaded
and my nested content project has to be manually loaded later and then
added to the solution over again. I've been thinking about a fix for
this which would involve allowing SolutionItem subclasses to have
nested SolutionItems which would be loaded along (directly after) by
the solution loader.

Hope this information provides adequate insight of what I'm doing and
why I'm doing it. I'm looking forward to you feedback...

-lavima
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lavima.patch
Type: text/x-patch
Size: 3241 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/monodevelop-devel-list/attachments/20091029/d3cab946/attachment.bin 


More information about the Monodevelop-devel-list mailing list