[MonoDevelop] Having some problems developing a MonoXna addin
lavima at gmail.com
Fri Jan 8 07:30:58 EST 2010
I've been asking about this topic on the irc channel previously, and
lluis has kindly tried to help me, but I'm still having some problems.
I've introduced the topic many times, but better be safe than sorry.
Microsoft Xna projects contain a nested content project, which is
responsible for building all the content files used in the parent XNA
project. This nested content project is a .net project subtype with
.contentproj extension. So what I want to do in the context of
MonoDevelop is to be able to create a DotNetProject subtype for the
content projects, that can be instanced upon the creation of new
MonoXna projects (another DotNetProject subtype), behave like regular
dotnet projects in the project pad (except for a few modifications),
and to be serialized using a .contentproj extension rather than the
I've been testing different approaches, but the one I'm triying now
was started after a tip by lluis that I could get around the .csproj
forced extension of dotnetproject subtypes by loading the project
through MSBuildProjectService.LoadItem() which allows specifying the
filename manually. I expected to find a corresponding save method with
the same possibilities, but I can't find any. So my first problem with
this approach is making the content projects serialized using the
proper extension. Secondly, my previous attempt allowed the content
projects to be added as invisible items in the solution, which made it
easy to build upon the node builder and command handler for regular
dotnet projects. But now, since the ParentSolution can't be set
manually (I haven't figured out how at least), it seems like a lot of
work must be redone in order to get it working.
I have figured out how to achieve the desired functionality by
modifying the MD project model, but it would certainly be better if
the desired functions can be achieved without modifying MD. Can anyone
I'm happy to provide additional information if that should be necessary.
More information about the Monodevelop-list