GeoffreyK

I'm having a problem building my assemblies with SandCastle, it keeps saying unresolved assembly references on members in my dependency assemblies. I'm actually using SandCastle Help File Builder to build my assemblies, and I thought it was a problem with that tool, but when I ran one of the assemblies against Mrefbuilder specifying the other assemblies as /dep the output file has put ref=false on some of my members in my dependency assemblies. I'm using the June CTP. Is this a known issue

--Geoff




Re: Developer Documentation and Help System Unresolved Assembly Reference

EWoodruff

The June CTP added a new <resolver> tag to the MRefBuilder.config file which might be affecting it. In the build that fails with the help file builder, go to the .\Working folder, edit the config file and remove the <resolver> tag. Run GenerateRefInfo.bat and see if it runs without the unresolved reference error. If it doesn't, try deleting the config file and running it again. Does that make a difference

Eric





Re: Developer Documentation and Help System Unresolved Assembly Reference

asdlkajlkasd

I remember a imilar error message and I fixed it using a wildcard as dependency item in teh SHFB configuration file. I think the error is caused by missing n-order dependencies (dependencies of dependencies ...).





Re: Developer Documentation and Help System Unresolved Assembly Reference

GeoffreyK

EWoodruff,

Neither suggestion changed anything. When I build the help topics I still see Warn: ResolveReferenceLinksComponent2: Unknown reference link target '...' when it generates the topics, and all the unknown reference link targets are members in my dependency assemblies.






Re: Developer Documentation and Help System Unresolved Assembly Reference

GeoffreyK

asdlkajlkasd,

Can you be more specifc on what you modifed in the SHFB configuration file

Thanks






Re: Developer Documentation and Help System Unresolved Assembly Reference

EWoodruff

Okay, I think you're confusing two different issues here.

Just to clarify: You're not getting exceptions from MRefBuilder about unresolved assemblies, you're just seeing "unknown reference" messages from the ResolveReferenceLinks component during the BuildAssembler step.

If it was truly related to unresolved assembly references, you wouldn't get past MRefBuilder as it would abort the build. The messages you are seeing are normal. These just indicate that it can't resolve a help link to a system type on MSDN or something internally. It will only generate links for system types that it can find on MSDN and for stuff in the documented assemblies. It will not generate links to stuff in dependent assemblies as it has nothing to link to. If you want dependencies documented, you need to include them as documented assemblies, not dependencies.

Eric





Re: Developer Documentation and Help System Unresolved Assembly Reference

GeoffreyK

Ahh so I actually have to add the assemblies to the project, and have them be built by that project, ok.

This would be a good feature request for SandCastle then to allow members in the building assembly to leverage the dependency assemblies to link members derived from the dependency assemblies. This does make the assumption that another project will be built that will actually output the topics that the building project is making links too, so that they are available in the final HxS.






Re: Developer Documentation and Help System Unresolved Assembly Reference

Dave Sexton

Hi Geoff,

Sandcastle already supports this. As Eric said, you just need to add your dependencies as source projects instead and their topics will be built, allowing you to reference them in your main project. If you don't want all of the topics built, then you can add the apiFilter element to the MRefBuilder.config file and exclude any topics that you do not want.

HTH

- Dave






Re: Developer Documentation and Help System Unresolved Assembly Reference

GeoffreyK

That's a good idea Dave, but that doesn't work for me either because in my assemblies I want to make links to they have the same namespaces as some of the namespaces in the assembly I want to build so when I add the namespace I want to filter out from one assembly it actually filters them both out. Unless there is a element for apiFilter that lets you specify the assembly as well as the namespace you are wanting to fitler out.






Re: Developer Documentation and Help System Unresolved Assembly Reference

Dave Sexton

Hi Geoff,

There isn't the option to filter by assembly as well, AFAIK, but I do like the idea.

And although this isn't the best solution, you can still use the apiFilter if you add filters for each type that you don't want, instead of the namespaces.

- Dave