Broken XML docu link when implementing interface


hello,


please consider following minimal code example:

namespace classlibrary
{
public class class : ivalueprovider { public int value { { return 0; } } } [contractclass(typeof(valueprovidercontract))] public interface ivalueprovider { int value { get; } } [contractclassfor(typeof(ivalueprovider))] abstract class valueprovidercontract : ivalueprovider { int ivalueprovider.value { { contract.ensures(contract.result<int>() >= 0); return 0; } } }
}

in project settings, enabled "emit contracts xml file". in general feature works , it. unfortunately, example above, there seems problem in generated xml docu file. member documentation of class.value getter looks this:

    <member name="p:classlibrary.class.value">       <getter>         <ensures inheritedfrom="m:classlibrary.ivalueprovider.get_value" inheritedfromtypename="ivalueprovider" csharp="result &gt;= 0" vb="result &gt;= 0">result &gt;= 0</ensures>       </getter>     </member>

when xml docu file used sandcastle generate class reference documentation, following warning appears:

c:\program files (x86)\ewsoftware\sandcastle file builder\sandcastlehelpfilebuilder.targets(38,3): warning : buildassembler : warning : resolvereferencelinkscomponent: [p:classlibrary.class.value] unknown reference link target 'm:classlibrary.ivalueprovider.get_value'.

the link "m:classlibrary.ivalueprovider.get_value" seems wrong. sandcastle generates broken link when creating in docu. think should rather "p:classlibrary.ivalueprovider.value".

what think, issue in ccdocgen or sandcastle?


thanks, stefan

hi

looks duplicate of this:

https://social.msdn.microsoft.com/forums/en-us/2766c8c7-f7a6-4585-8ac8-024b26f702fa/ccdocgen-reference-link-problems-with-inheritedfrom?forum=codecontracts

this should fixed in latest shfb releases.

kind regards,

michael



DevLabs  >  Code Contracts



Comments

Popular posts from this blog

Azure DocumentDB Owner resource does not exist

job syspolicy_purge_history job fail in sqlserver 2008

Trying to register with public marketplace error with 'Get-AzureStackStampInformation'