[Mono-dev] Adding documentation for new namespace

Chris Bacon chris at dunelm.org.uk
Fri Jul 2 09:22:33 EDT 2010


Thanks - it's working fine now.

Jonathan Pryor wrote:
> Make sure you're running monodoc trunk (maybe 2.6; not sure). 2.4 has 
> lots of known+filed+fixed-in-trunk bugs. 
>
>  - Jon
>
> On Jul 1, 2010, at 7:11 AM, Chris Bacon <chris at dunelm.org.uk 
> <mailto:chris at dunelm.org.uk>> wrote:
>
>> Hi Jon,
>>
>> Thanks for thes instructions.
>>
>> When I run monodoc and select one of the new namespaces in corlib 
>> (e.g. System.Diagnostics.Contracts) monodoc throws an exception:
>> chris at ubuntuPC:~/Mono/mcs/class/corlib$ monodoc --edit Documentation/en
>> using WebKit
>> using WebKit
>> Marshaling changed signal
>> Exception in Gtk# callback delegate
>>   Note: Applications can use GLib.ExceptionManager.UnhandledException 
>> to handle the exception.
>> System.Reflection.TargetInvocationException: Exception has been 
>> thrown by the target of an invocation. ---> 
>> System.ArgumentNullException: Argument cannot be null.
>> Parameter name: path
>>   at System.IO.FileStream..ctor (System.String path, FileMode mode, 
>> FileAccess access, FileShare share, Int32 bufferSize, Boolean 
>> anonymous, FileOptions options) [0x00000]
>>   at System.IO.FileStream..ctor (System.String path, FileMode mode, 
>> FileAccess access, FileShare share) [0x00000]
>>   at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor 
>> (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
>>   at System.IO.File.OpenRead (System.String path) [0x00000]
>>   at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor (System.String name) 
>> [0x00000]
>>   at Monodoc.HelpSource.GetHelpXmlWithChanges (System.String id) 
>> [0x00000]
>>   at Monodoc.EcmaHelpSource.RenderNamespaceLookup (System.String 
>> nsurl, Monodoc.Node& match_node) [0x00000]
>>   at Monodoc.RootTree.RenderUrl (System.String url, Monodoc.Node& 
>> match_node) [0x00000]
>>   at Monodoc.TreeBrowser.RowActivated (System.Object sender, 
>> System.EventArgs a) [0x00000]
>>   at (wrapper managed-to-native) 
>> System.Reflection.MonoMethod:InternalInvoke 
>> (object,object[],System.Exception&)
>>   at System.Reflection.MonoMethod.Invoke (System.Object obj, 
>> BindingFlags invokeAttr, System.Reflection.Binder binder, 
>> System.Object[] parameters, System.Globalization.CultureInfo culture) 
>> [0x00000]
>>   --- End of inner exception stack trace ---
>>   at System.Reflection.MonoMethod.Invoke (System.Object obj, 
>> BindingFlags invokeAttr, System.Reflection.Binder binder, 
>> System.Object[] parameters, System.Globalization.CultureInfo culture) 
>> [0x00000]
>>   at System.Reflection.MethodBase.Invoke (System.Object obj, 
>> System.Object[] parameters) [0x00000]
>>   at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000]
>>   at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] 
>> args) [0x00000]
>>   at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000]
>>   at GLib.Signal.ClosureInvokedCB (System.Object o, 
>> GLib.ClosureInvokedArgs args) [0x00000]
>>   at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000]
>>   at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr 
>> return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr 
>> invocation_hint, IntPtr marshal_data) [0x00000]
>>    at GLib.ExceptionManager.RaiseUnhandledException(System.Exception 
>> e, Boolean is_terminal)
>>    at GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr 
>> return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr 
>> invocation_hint, IntPtr marshal_data)
>>    at Gtk.Application.gtk_main()
>>    at Gtk.Application.Run()
>>    at Monodoc.Driver.Main(System.String[] args)
>> chris at ubuntuPC:~/Mono/mcs/class/corlib$
>>
>> It doesn't crash when selecting a namespace that isn't new.
>>
>> Thanks
>> Chris
>>
>> Jonathan Pryor wrote:
>>> On Wed, 2010-06-30 at 14:58 +0100, Chris Bacon wrote:
>>>   
>>>> I would like to add some documentation for the 
>>>> System.Diagnostics.Contracts namespace, for which there is currently no 
>>>> documentation.
>>>>
>>>> I cannot see a way to add a new namespace using the Mono Documentation 
>>>> Library. Please could someone let me know how best to do this.
>>>>     
>>>
>>>         cd mcs/class/corlib
>>>         	# or some other assembly directory.
>>>         make PROFILE=net_4_0 doc-update
>>>                 # generates doc stubs in Documentation/en
>>>         monodoc --edit Documentation/en
>>>         	# view the 'Mono Documentation/mscorlib' node in the
>>>         	# left-hand pane. [0]
>>>         
>>> You can then edit e.g.
>>> mcs/class/corlib/Documentation/en/System.Diagnostics.Contracts/*.xml,
>>> `svn add` your XML files and `svn commit` them.
>>>
>>> I've just committed the doc stubs for mscorlib.dll v4.0, so your first
>>> commit won't intermix stubs with content (and be gigantic); r159740.
>>>
>>> To install the docs:
>>>
>>>         cd mcs/docs
>>>         rm netdocs{.tree,.zip}
>>>         make PROFILE=net_4_0
>>>         make PROFILE=net_4_0 install
>>>
>>> The intermediate `rm` is needed to ensure that nedocs.zip is rebuilt, as
>>> the make(1) dependencies for rebuilding are inadequate.
>>>
>>> Once you've `make install`ed, monodoc will show the new documentation.
>>>
>>>  - Jon
>>>
>>> [0] I can't actually recommend 'monodoc --edit' for editing
>>> documentation [1], but it is handy for viewing documentation without
>>> assembling and installing it.
>>>
>>> [1]
>>> http://www.jprl.com/Blog/archive/development/mono/mdoc/2010/Jan-10.html
>>>
>>>
>>>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20100702/3925f202/attachment.html 


More information about the Mono-devel-list mailing list