Documentation for .NET Framework Classes

Answered

Is it possible to view rich documentation (descriptive text in addition to method param/return types) for .NET Framework Classes when using Mono?

For example, when I attempt to open the documentation for the following line:

throw new AccessViolationException("foo");

I get "no documentation found", and the hover text simply shows:

(constructor) System.AccessViolationException.AccessViolationException(string message)

I this behaviour consistently for all System.* classes.

I have Project Rider EAP build 18 and Mono 4.8.0 installed on Mac OS X 10.12.3. It looks like Mono installs the documentation to:

/Library/Frameworks/Mono.framework/Versions/Current/lib/monodoc/sources/netdocs.zip

When I unzip that file, I can see the following in xml.Summary.System:

 <class name="AccessViolationException" fullname="System.AccessViolationException" assembly="mscorlib">
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The exception that is thrown when there is an attempt to read or write protected memory.</para>
</summary>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An access violation occurs in unmanaged or unsafe code when the code attempts to read or write to memory that has not been allocated, or to which it does not have acc
<para>In programs consisting entirely of verifiable managed code, all references are either valid or null, and access violations are impossible. An <see cref="T:System.Acce
<para>Starting with the net_v40_long, <see cref="T:System.AccessViolationException" /> exceptions thrown by the common language runtime are not handled by the catch stateme
<format type="text/html">
<h2>Version Information</h2>
</format>
<para>This exception is thrown in the .NET Framework 2.0 and later versions. In earlier versions of the .NET Framework, an access violation in unmanaged code or unsafe mana
<para>Administrators can allow selected applications to revert to the behavior of the .NET Framework version 1.1. Place the following line in the <format type="text/html"><
<code>&lt;legacyNullReferenceExceptionPolicy enabled = "1"/&gt;</code>
</remarks>
</class>

It would be great if that documentation could appear in my IDE.

8 comments
Comment actions Permalink

It's kinda fascinating that such basic functionality isn't working properly in a paid product.

JetBrains Rider 2019.1.1
Build #RD-191.6733.985, built on May 1, 2019
JRE: 1.8.0_202-release-1483-b49 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.4

Unity 2019.1.0f2

3
Comment actions Permalink

This is because Mono doesn't ship with XML documentation files like the .NET Framework does, and Rider doesn't know anything about Mono's help files. I've raised an issue for this: RIDER-11155

2
Comment actions Permalink

Same problem here:

JetBrains Rider 2018.3.1
Build #RD-183.5253.26, built on December 26, 2018
JRE: 1.8.0_152-release-1343-b26 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.2

Unity 2018.3.0f2

Note that the documentation works in a pure (non-Unity) .NET Core project.

1
Comment actions Permalink

Same here. The <summary> section doesn't appear when I view Quick Documentation and the View External Document button is disabled too. Is there any way to setup Mono documentation for Rider properly?

0
Comment actions Permalink

Fixed in Rider 2020.1 See RIDER-11155 No XML documentation for BCL on Mono

0
Comment actions Permalink

I am on Rider 2020.1 with Unity 2019.1 on Windows 10 and the problem does not seem fixed.

0
Comment actions Permalink

Ivan Shakhov, thanks, I'm on that thread now. Tried the workarounds, no luck, but it looks like it's still work in progress on JetBrains's side.

0

Please sign in to leave a comment.