Unable to resolve reference UnityEngine.dll


When processing topics Sandcastle is unable to resolve any references located in UnityEngine.dll when I build the project. I have included both UnityEngine.dll and UnityEngine.xml in the Documentation sources. The project can read my other dll and xml file just fine.

Specifically, when I build my output contains a number of warnings.
BuildAssembler : warning : ResolveReferenceLinksComponent: [T:Realtime.Tasks.TaskManager] Unknown reference link target 'T:UnityEngine.Object'.
If you could take a look, that would be grand.

file attachments


EWoodruff wrote Oct 7, 2014 at 10:23 PM

You've defined an API filter that removes everything in the UnityEngine assembly. Remove the API filter, remove the UnityEngine assembly and XML comments files as documentation sources, and use the Additional Reference Links component as described in this thread since what you want to accomplish is similar: https://shfb.codeplex.com/discussions/569123

However, the UnityEngine XML comments file contains a number of invalid member IDs caused by illegal XML characters and cannot be loaded. As such you will not get comments for the inherited members. Also, your assembly's XML comments file contains a number of valid but ill-formed cref target IDs. You appear to be fully qualifying the names with the "T:" or "M:" prefix. You should just specify the member name without the prefix or namespace and let the compiler resolve it to a valid ID. See the XML Comments Guide for info on how to correctly specify a generic cref target ID.

And finally, for future questions or issues concerning Sandcastle or SHFB, post them over on the Sandcastle Help File Builder project's discussion page. Thanks.

SimpleNick wrote Oct 8, 2014 at 4:27 PM

Thanks for your quick reply. I will continue here, but in the future I will visit the new site.

1) I have change UnityEngine to a reference. I noticed that when I add it as a reference the XML file is not included, only the dll.

2) Is there something I can do to fix the UnityEngine xml file ?

EWoodruff wrote Oct 8, 2014 at 7:41 PM

You can add the XML comments file to the documentation sources, just remove the assembly. That should include the comments on the inherited members. Using the Additional Reference Links plug-in will include the comments and suppress the "invalid reference link" warnings though.

Regarding the UnityEngine.xml file, just go through it and convert all ampersands and angle brackets within the member IDs to entities (& < and >).

wrote Oct 8, 2014 at 9:02 PM

SimpleNick wrote Oct 8, 2014 at 9:02 PM

I did not find any ampersands or angle brackets within UnityEngine.xml. Can you point out a line number for reference ?

EWoodruff wrote Oct 8, 2014 at 9:27 PM

Ampersands: Lines 328, 1012, 1102, 2092 etc.
Angle brackets: Lines 529, 853, 871, 892, 910, etc.