[Mono-dev] xbuild

Michael Hutchinson m.j.hutchinson at gmail.com
Thu Nov 13 14:39:13 EST 2008

2008/11/13 Rafael Teixeira <monoman at gmail.com>:
> AFAIR, Monodevelop reads csprojs which are msbuild files but with specific
> semantics, and deals with the needed tasks.

Actually, MD can *read and edit* arbitrary MSBuild files, but can only
build certain targets that we have specifically added support for,
e.g. C#, VB, Web app projects, etc.

> Monodevelop doesn't try to implement all msbuild functionality and specially
> it's extensibility features, which are used by VS.NET.

What VS does is to call out to MSBuild for the actual build. MD does
have support for reading/writing things like arbitrary build targets,
it just can't /build/ them without a functional xbuild.

> It may be feasible to evolve Monodevelop to use xbuild but probably it would
> impact the support for the other buildings tasks Monodevelop and its addins
> currently support. The main reason is that msbuild (and therefore xbuild)
> doesn't use Mono.Addins for its extensibility and doesn't consume/expose the
> extension points in/to MD/MD-addins, but those of VS.NET/msbuild-addins.

MSBuild is independent of VS, and Mono.Addins has little (if anything)
to do with it. The main impediment is that xbuild is not sufficiently
functional yet.

Our long term plan, when xbuild is functional, is to use xbuild for
building in MD. To this end, Ankit has been working on xbuild.

Obviously we'll have to port the MD-specific build steps to xbuild
tasks, at which point it will be possible to build your projects
without having all of MD installed. There some threads in
monodevelop-list that explain more about how and why we are doing

> Hope I didn't confuse things and this message can be of some help,

It was mostly right :-)

Michael Hutchinson

More information about the Mono-devel-list mailing list