[Monodevelop-devel] Automagic settings upgrade dilemma

Michael Hutchinson m.j.hutchinson at gmail.com
Wed Nov 5 21:20:42 EST 2008

Hi all,

Background: Until a few days ago, the ASP.NET project type in MD
assumed that ASP.NET projects always had a CompileTarget value of
"Library". This has led to all ASP.NET projects files being created
with the default "Executable" target, since MD essentially ignored
this properly, so I did not think to set it correctly. Unfortunately
Visual Studio (MSBuild) *does* respect this properly from the project
file, even though it gives the user no UI with which to change it.
Building MD projects with VS (or MSBuild) hence hits a compile error
when it can't find the Main entry point method. If this method's
added, the build succeeds, but the project doesn't fun, since ASP.NET
apparently ignores exe files.

Here's the dilemma:  MD needs to fix the incorrect value it's been
using in order to make existing projects compatible with VS and
MSBuild. However, I'm not comfortable doing automagic, unavoidable and
potentially unwanted changes (even if right now I can't think of any
ready why anyone would want to build an exe). Which of the following
should I do?

1) Make the change automatically
2) Ask the user if they want to make the change (if they don't, it'll
ask every time they open the project)
3) Add a warning to the build process, and
    a) Don't do anything, let users fix it themselves in the project file
    b) Re-enable the CompileTarget-changing UI when the CompileTarget
is incorrect

My preference is 3b.

Michael Hutchinson

More information about the Monodevelop-devel-list mailing list