Add Quick Documentation sources from a different project

I'm new to the C# / .NET world and Rider coming from Java using IntelliJ.

I'm wondering whether I can add sources for quick documentation somehow like I was able to do in IntelliJ.

So I have a project that relies on an SDK that is not public and the documentation is not available anywhere online. I do however have the source code of that SDK. So is there some way for me to point my project to that other SDK project (solution?) and have it pick up the documentation for the SDK classes from there when I'm using Quick Documentation inside my project?

8 comments
Comment actions Permalink

Can you compile SDK and reference it? By default documentation is compiled into xml file near each assembly.

0
Comment actions Permalink

Unfortunately I can't. The build requires access to private repos (I'm guessing) which I won't have access to for some time (waiting for access currently which may take some weeks).

I might be able to ask someone to do that for me though. Is there any documentation that you know of that explains where this XML file ends up? Is there one XML file per csprj? I might be able to get that from someone and add it to the project that I have.

0
Comment actions Permalink

When you compile with the DocumentationFile option, the compiler will search for all XML tags in the source code and create an XML documentation file.
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/

0
Comment actions Permalink

Thanks, I found this https://stackoverflow.com/questions/47115877/how-to-generate-xml-documentation-for-csproj-with-multiple-targets and tried adding

<GenerateDocumentationFile>true</GenerateDocumentationFile>

to the Directory.Build.props file in the root directory. This seems to work to get the XML files generated but now I just need to figure out where to put them in my other project so that Rider picks them up and enables Quick Documentation for the classes that are coming from that library.

0
Comment actions Permalink

In Solution Explorer you may see references, find your reference, check its properties via context menu. There would be full path. Place xml files in the same folder as assemblies.

1
Comment actions Permalink

Thanks! Will try that.

0
Comment actions Permalink

Doesn't look like it's working.

I now have (I am of course omitting a bunch of stuff... but you get the point):

project/
+- dotnet
+- project.sln
+- prj1
| +- prj1.csproj [this project has a reference to my-ext-lib directory below]
| +- [prj1 source code and stuff]
+- [a bunch of other projects, some with, and some without a reference to my-ext-lib]
+- my-ext-lib
+- My.Lib.Foo.dll
+- My.Lib.Foo.pdb
+- My.Lib.Foo.xml [I manually copied this file here]
+- [a bunch of other My.Lib.*.* triplets here]

I've closed the project and started again but Rider does not seem to pick up the documentation from the XML files.

Anything else I could possibly try?

0
Comment actions Permalink

oh... hang on... I invalidated the caches in Rider, restarted and reopened the solution and now it seems to work. Thank you!

2

Please sign in to leave a comment.