ResolveReferenceLinksComponent problem Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationItem'

Topics: User Forum
Mar 2, 2014 at 12:54 AM
Using Sandcastle help file builder 2014.2.15.0 BETA (downloaded from https://shfb.codeplex.com/, installed from the guided installer), running in VS2010.

I'm seeing an issue that looks similar to the issue at https://shfb.codeplex.com/discussions/535933, but most of the system classes are working propertly, so its possibly a different issue.
Warning 1   BuildAssembler : warning : ResolveReferenceLinksComponent: [P:OpenSearch.IResponse.Authors] Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationPerson'. [C:\Users\jmpsdev\Documents\Visual Studio 2010\Projects\OpenSearch\opensearchnet\HelpFileBuilder\Help\Working\BuildReferenceTopics.proj]   C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleHelpFileBuilder.targets  38  4   OpenSearchHelp
Warning 2   BuildAssembler : warning : ResolveReferenceLinksComponent: [P:OpenSearch.IResponse.Authors] Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationPerson'. [C:\Users\jmpsdev\Documents\Visual Studio 2010\Projects\OpenSearch\opensearchnet\HelpFileBuilder\Help\Working\BuildReferenceTopics.proj]   C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleHelpFileBuilder.targets  38  4   OpenSearchHelp
Warning 3   BuildAssembler : warning : ResolveReferenceLinksComponent: [P:OpenSearch.IResponse.ItemsRaw] Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationItem'. [C:\Users\jmpsdev\Documents\Visual Studio 2010\Projects\OpenSearch\opensearchnet\HelpFileBuilder\Help\Working\BuildReferenceTopics.proj]    C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleHelpFileBuilder.targets  38  4   OpenSearchHelp
Warning 4   BuildAssembler : warning : ResolveReferenceLinksComponent: [P:OpenSearch.IResponse.ItemsRaw] Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationItem'. [C:\Users\jmpsdev\Documents\Visual Studio 2010\Projects\OpenSearch\opensearchnet\HelpFileBuilder\Help\Working\BuildReferenceTopics.proj]    C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleHelpFileBuilder.targets  38  4   OpenSearchHelp
Warning 5   BuildAssembler : warning : ResolveReferenceLinksComponent: [P:OpenSearch.Response.Authors] Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationPerson'. [C:\Users\jmpsdev\Documents\Visual Studio 2010\Projects\OpenSearch\opensearchnet\HelpFileBuilder\Help\Working\BuildReferenceTopics.proj]    C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleHelpFileBuilder.targets  38  4   OpenSearchHelp
Warning 6   BuildAssembler : warning : ResolveReferenceLinksComponent: [P:OpenSearch.Response.Authors] Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationPerson'. [C:\Users\jmpsdev\Documents\Visual Studio 2010\Projects\OpenSearch\opensearchnet\HelpFileBuilder\Help\Working\BuildReferenceTopics.proj]    C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleHelpFileBuilder.targets  38  4   OpenSearchHelp
Warning 7   BuildAssembler : warning : ResolveReferenceLinksComponent: [P:OpenSearch.Response.ItemsRaw] Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationItem'. [C:\Users\jmpsdev\Documents\Visual Studio 2010\Projects\OpenSearch\opensearchnet\HelpFileBuilder\Help\Working\BuildReferenceTopics.proj] C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleHelpFileBuilder.targets  38  4   OpenSearchHelp
Warning 8   BuildAssembler : warning : ResolveReferenceLinksComponent: [P:OpenSearch.Response.ItemsRaw] Unknown reference link target 'T:System.ServiceModel.Syndication.SyndicationItem'. [C:\Users\jmpsdev\Documents\Visual Studio 2010\Projects\OpenSearch\opensearchnet\HelpFileBuilder\Help\Working\BuildReferenceTopics.proj] C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleHelpFileBuilder.targets  38  4   OpenSearchHelp
I've tried deleting the cache, and it does appear to be re-created (with network traffic for classes that are not causing problems, but I don't see anything about System.ServiceModel.Syndication.SyndicationItem or System.ServiceModel.Syndication.SyndicationPerson in the cache or wireshark capture).

I've confirmed that both the source project and help project are on .NET 4.0.

The Sandcastle data file does appear to contain those classes (although I'm not sure I'm reading it right).

The source code I'm trying to document looks like:
using System;
using System.Collections.Generic;

namespace OpenSearch
{
    /// <summary>
    /// Response to an OpenSearch query
    /// </summary>
    public interface IResponse
    {
        /// <summary>
        /// Authors for the search response
        /// </summary>
        /// <remarks>
        /// This usually corresponds to the <c>Author</c> element(s) in an OpenSearch response, which is part of the Atom namespace. The server
        /// does not need to provide this information. If it is not provided, an empty list will be returned.
        /// </remarks>
       System.Collections.ObjectModel.Collection<System.ServiceModel.Syndication.SyndicationPerson> Authors { get; }
        
        /// <summary>
        /// Search queries that the search client can use
        /// </summary>
        /// <remarks>
        /// <para>This corresponds to the <c>Query</c> elements in an OpenSearch response.</para>
        /// </remarks>
        // TODO: this is the wrong return type.
        IEnumerable<string> Queries { get; }
        
        /// <summary>
        /// Search results in "raw" form
        /// </summary>
        /// <remarks>
        /// This property provides the items returned by the search as an enumeration of <c>System.ServiceModel.Syndication.SyndicationItem</c>, which
        /// provides low-level access to the items for further processing.
        /// </remarks>
        IEnumerable<System.ServiceModel.Syndication.SyndicationItem> ItemsRaw { get; }
    }
}
That has some parts that probably aren't relevant removed - full source is available https://opensearchnet.codeplex.com/SourceControl/latest#OpenSearch/IResponse.cs and https://opensearchnet.codeplex.com/SourceControl/latest#OpenSearch/Response.cs
Coordinator
Mar 2, 2014 at 6:35 PM
Thanks for the report. I tested your example and got the same results so I dug a little deeper. It was missing the referenced namespaces for generic parameters types when it was gathering the namespaces for the list to include for the resolve reference links component. I've fixed it so that it includes the necessary elements in the reflection file search to pick them up. It'll be fixed in the next release.

Eric
Apr 7, 2014 at 2:08 PM
EWoodruff wrote:
It'll be fixed in the next release.
Eric, when will the next release?
Coordinator
Apr 7, 2014 at 5:40 PM
I'll probably issue a release in a week or two. If you need it sooner, the changes are in source control so you could download the source and rebuild it.

Eric
Apr 22, 2014 at 11:54 AM
Problem was not fixed in release v2014.4.21.0 :(
Coordinator
Apr 22, 2014 at 4:43 PM
The example above works in my test case project. Please send me an example where it is not working. Thanks.

Eric