[Mono-docs-list] Fwd: [Mono-winforms-list] Exception when using monodocer on System.Windows.Forms.dll

Miguel de Icaza miguel at ximian.com
Sun Dec 17 13:19:37 EST 2006


> Is the current documentation, including all user contributions for the 1.1 or 
> 2.0 version of the framework? Will the current contributions survive the 
> change of the build process?

Most stuff is for 1.0, with a handful of exceptions (down to a handful
of classes that we had to document).

In my opinion, the best thing to do would be to:

	* Add 1.0 docs.

	* Wait for 2.0 to be API complete.

	* Re-run the appropriate tool to add the 2.0 deltas and
	  inserting the "Since 2.0" messages.
> And in I my opinion this concept should be extended to meet the version 
> changes of third-party assemblies that are shipped with mono as well. Because 
> if we only distinguish between .Net 1.1 and 2.0 third-party assemblies can 
> not be documented in a way where users see in which version of the assembly 
> the api has been changed.

The tag for "since" allows any string to be inserted.

> I've taken a look into it and this should be the list of assemblies to add:
> (These are all assemblies that I've found in the GAC of a newly compiled mono 
> which are not present in monodoc. But I guess the assemblies still under 
> development like System.Transactions can be removed from the list.)

My concerns about adding more docs fall in the following categories:

	* The assembly is a third-party assembly, and should be
	  documented "upstream" before we do any integration.

	  The "upstream" documentation could probably be inline docs 
	  (C5, FireBird, SharpZipLib) or it could be open to new docs,
	  in that case, we can revisit this decision.

	* Internal assemblies should not be documented (Custom
	  Marshallers, I18N. OpenSystem.C).   

	  Things like PEAPI should be considered
	  internal, as there are two replacements for it that are being
	  maintained (Cecil and PERWAPI) and those should be

	* The same applies to assemblies that are merely stubs to get
	  things to compile, as technically they do not provide any
	  functionality (Sys.Messaging, Sys.EnterpriseServices,

	* Under development of incomplete libraries should not be
	  documented, and this includes the Mono.Data assembly (not
	  to be confused with Mono.Data.SqliteClient,Sybase).

	* Libraries that are not API-complete (re-implementations)
	  pose a challenge for the monodoc updater, so I rather not
	  waste time on those yet (Microsoft.Build.* and all of the
	  Olive class libraries)

Which leaves us with the following ones to document:

> - Mono.Data.* (currently only SqlClient is included)

Only the concrete Mono.Data.*

> - Mono.Http
> - System.ServiceProcess
> - System.Transaction

And finally, my last concern is that stubs are not documentation,
stubbing things out is the easy part.  Actually writing the
documentation is the hard part, and we have historically not been able
to attract people to do this work.


More information about the Mono-docs-list mailing list