Unable to build project to obtain API information

Oct 31, 2012 at 7:18 PM


I am using Sandcastle Help File Builder I am having trouble building the documentation for a Windows 8 (RT actually) VS2012 C# project, as I keep on getting this error:

SHFB: Error BE0033: No APIs found to document.  See error topic in help file for details.

I tried opening the ApiFilter editor under Visibility, but the following alert message shows up:

Unable to build project to obtain API information. Please perform a normal build to identify and correct the problem.

However the project builds correctly in VS.

I included the .vcxproj file as the Documentation source, as well as the dll/winmd of a native library that it references. I also tried including Windows.winmd file (which is necessary for some WinRT obfuscators to work). I have also tried to include the .dll and .winmd of the project itself as Documentation sources, but it has not helped.

Can someone point to me what I'm missing?

Oct 31, 2012 at 7:47 PM

Are your classes public?  If not, they will be excluded by default.  You can enabled the Document Internal Members and/or Document Private Members options in the Visibility category of SHFB project properties.  However, that may include more than you want.  The current release and earlier releases do not properly support .winmd files as documentation sources.  The workaround for now is to copy the .winmd file to a new name with a .dll extension and use that as the documentation source rather than the project.

The next release will support .winmd files as documentation sources.  However, I did notice at least in the dummy project I created that most of the classes in the generated .winmd assembly were marked as compiler generated.  As such, they are removed by the MRefBuilder tool as compiler generated stuff is typically not wanted.  That may need to be address too but since I don't currently do any Windows RT development, I can't say whether this is normal.



Feb 28, 2013 at 12:24 AM
Edited Feb 28, 2013 at 12:24 AM
Has any progress been made on this since? I see my .winmd classes generate content for the help file, but nothing from the .xml doc seems to be used, so all descriptions etc are just blank.
Feb 28, 2013 at 12:53 AM
The latest release does support .winmd files as documentation sources with the above noted issues. I'll need a proper example to diagnose any problems such as missing comments. If you can e-mail me a small example that isn't working, I'll look into it. My e-mail address is in the About box in the standalone GUI and in the footer of the pages in the help file.