[MonoDevelop] Moving to MSBuild

Michael Hutchinson m.j.hutchinson at gmail.com
Thu Mar 13 15:26:34 EDT 2008


On Thu, Mar 13, 2008 at 2:43 PM, Andres G. Aragoneses
<aaragoneses at novell.com> wrote:
>  I have a question about this: Will the MD file format be maintained
>  anyway (or not dropped at least)? If the answer is 'no', then I just

At the very least, we will certainly have importers...

>  wanted to point out a number of reasons not to do this:
>  - There are several projects that already use it.
>  - There are some interesting things in the MD project file format that I
>  think are better than MSBuild:
>  1) Same file extension for any type of project regardless the language.

We want VS compatibility where possible, so we will use .csproj and
.vbproj etc.,  but apart from that I see no reason to invent lots of
new file extensions.

>  2) Solutions inside solutions support. (Even in Mono SVN this feature is
>  used.)

VS solutions aren't actually MSBuild files, even though MSBuild
understands them, and it would be possible to represent nested
solutions with MSBuild files, but VS would not be able to load them.
Solution folders (structuring of projects within a solution) partially
solve the problem. We will probably also have "workspaces" for
grouping solutions, but the solutions themselves will be VS solutions.

>  3) Support for unmanaged projects (well, I'm not sure if the MSBuild
>  counterpart of this either exists, or if it's supported in MD, or if its
>  support is planned)?

We will be doing this for C projects etc. MSBuild files are about as
flexible as makefiles. We just need to write the relevant build
targets. VS seems to invoke the targets through MSBuild to do the
actual builds, making it similar to our makefile integration.

VS C/C++ projects don't use the MSBuild format yet, but that is likely
to change in the future. TBH, we don't really care about unmanaged VS
projects ATM.

>  4) Use of not-win32ish stuff (for example \backslashes\ for paths).

Unfortunately, this would mean the projects would not be be buildable
with MSBuild on Windows, let alone be able to be opened in VS.

>  Thoughts? Any point of view will be appreciated.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list