MPF + non-xml project file

May 4, 2010 at 9:07 AM
If I understand correctly. I can't use this with a non-xml project file because this uses MSBuild which only supports an xml like project file?
Jul 3, 2010 at 9:12 PM

You can override ProjectNode.Reload() method to load you project from other then MSBuild XML file and also methods related to saving project file are virtual so you can create your own implementation.

Jul 3, 2010 at 11:54 PM

Ok, I'll give that a go, At first glance it didn't seem that simple to me, but in particular it's not just that my build file isn't XML, it's that I want to use my own build system, I can provide the needed information back so that MPF can do the work of displaying them, for instance project hierachy etc. So i thought I Had to make my own ProjectNode and BuildEngine class.

Jul 24, 2010 at 6:57 PM

I am trying to achieve the same thing, I have been struggling a little :P Admittedly I have only been trying for one day :) Are there any resources out there that I can refer to? 

Jul 30, 2010 at 4:24 PM
Edited Jul 30, 2010 at 4:26 PM

It turns out to not be that simple, The buildEngine.LoadProject blows up way before it ever gets to the ProjectNode.

So you also need to define a new BuildEngine aswell. which is what i'm trying now

Jul 30, 2010 at 11:52 PM

I have had some time to tackle this again today, And I'm making alot of progress, But it's a but more difficult than just overriding Reload. At an earlier point (in some calls to MSBuild) the project format is attempted to be read. So that fails.

The most difficult part was adding the project into the loadedprojects list, since this member is private, and the type of the list is also private. So some reflection was needed.

You also need to shadow quite alot of other methods, but *shrug* I suppose it's still better than writing all this boilerplate code all by yourself.