[Mono-dev] Moving *.Design to package "mono-design"

Ivan Zlatev contact at i-nz.net
Sun Aug 9 06:30:23 EDT 2009


Andreas is right and I completely forgot about this when we discussed :(.
There are several parts of Windows Forms that use reflection to instantiate
types part of which are in System.Design. As he says some of those types are
the TypeEditors and TypeConverters. And if we don't ship WinForms together
with System.Design things will break. The same is also probably valid for
ASP.NET. And you won't be able to find a hard dependency between the
WinForms/ASP.NET and System.Design because the way it works is via an
attribute on a class which is initialized with a Type name (string) in order
to be loose coupled. Now the problem is that if System.Design is missing
those type won't be resolved from code that uses them will break.

An example:

namespace System.Windows.Forms {
    [Editor("System.Windows.Forms.Design.DockEditor, " +
Consts.AssemblySystem_Design, typeof(System.Drawing.Design.UITypeEditor))]
    public enum DockStyle {
        None    = 0,
        Top    = 1,
        Bottom    = 2,
        Left    = 3,
        Right    = 4,
        Fill    = 5

If System.Design is missing the WinForms property grid will no long work for
editing the Dock property of a Control (TypeEditor) and also won't be able
to convert the type to a human readable string (TypeConverter).

Now, I am not familiar with ASP.NET but a fgrep showed that there are quite
a lot of those attributes with references to System.Design and I guess say
if I am developing an app and I have a form where a user can select a Color
and I am using the System.Design Color editor and System.Design is missing
my app will break.

Unfortunately that leaves you with no option of avoiding aspnet pulling
winforms through System.Design. :(
Kind Regards,

Ivan Zlatev

On Sun, Aug 9, 2009 at 10:39 AM, Andreas Nahr <
ClassDevelopment at a-softtech.com> wrote:

> Just some info (for the "additional info"):
> System.Windows.Forms (and especially the PropertyGrid control) extremely
> depend on the *Design assemblies. ANY application that uses these will need
> the *Design assemblies at runtime.
> Also imho the name mono-designtime isn't optimal because it somehow
> suggests
> they are not needed at runtime which is not true.
> Greetings
> Andreas
> -----Ursprüngliche Nachricht-----
> Von: mono-devel-list-bounces at lists.ximian.com
> [mailto:mono-devel-list-bounces at lists.ximian.com] Im Auftrag von Sandy
> Armstrong
> Gesendet: Samstag, 8. August 2009 01:04
> An: Andrew Jorgensen
> Cc: mono-devel-list at lists.ximian.com
> Betreff: Re: [Mono-dev] Moving *.Design to package "mono-design"
> On Fri, Aug 7, 2009 at 3:57 PM, Andrew Jorgensen<ajorgensen at novell.com>
> wrote:
> > We have a proposal to move System.Design.dll, System.Drawing.Design.dll,
> and System.Web.Extensions.Design.dll to a separate package to break the
> dependency between mono-web and mono-winforms.
> >
> > Tomboy has started to use System.Web so if we leave the packages as is it
> will suddenly depend on mono-winforms (where System.Design currently lives,
> which is needed by System.Web.Extensions.Design, currently in mono-web,
> which Tomboy doesn't need).
> >
> > ivanz suggests the new package be called mono-designtime.
> >
> > Please chime in if you have relevant information or a good reason to
> object.
> I favor this split.  :-)
> Some additional info:
> * mono-winforms is a multi-megabyte package, and having a dependency
> on it becomes an issue for Tomboy and other apps that want to be on
> the openSUSE GNOME Live CD or other space-constrained environments
> * I cannot think of any situations where a user application would
> actually need *Design.dll
> * It "looks bad" to have Mono apps on Linux depend on a
> "controversial" package like mono-winforms
> Hope this helps,
> Sandy
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090809/8c08ed4e/attachment-0001.html 

More information about the Mono-devel-list mailing list