[MonoDevelop] Moving to MSBuild

"Andrés G. Aragoneses" knocte at gmail.com
Sat May 17 13:54:32 EDT 2008

Hi, sorry for the late response...

Michael Hutchinson wrote:
> 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...

How's the thing evolving? IMO this should be a combo box that lets you 
select the file format when creating a project/solution, like image 
manipulation programs do.

>>  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.

I wasn't advocating for inventing more extensions, but certainly was 
worried about this strategy that MS/MSBuild/VS selected, which I guess 
imposes how MD should behave in this matter (but what happens with 
project file formats which use a language that VS cannot open? for 
example, to mention the most uncommon, PHP.NET?).

>>  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.

Then it's not worth doing it, right? Because of interoperability reasons.

> 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.

That's it, they partially solve the problem and is my main concern about 
this project file format, which is why I though MD format should remain 
always as a fallback IMHO.

>>  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.

But in this case, which extension will these type of projects use?

>>  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.

Yes, I'm not proposing to use normal slashes for MSBuild, just saying 
that MD format is good because of its not-win32ish way of expressing the 
paths (the future MD for Win32 won't have any problem building it if 
it's prepared for replacing them at execution time with the native 




More information about the Monodevelop-list mailing list