Por que Sandcastle Help File Builder não armazenar o cache Msdn na pasta especificada?

StackOverflow https://stackoverflow.com/questions/676546

  •  21-08-2019
  •  | 
  •  

Pergunta

Eu estou tentando construir a documentação para o meu aplicativo usando Sandcastle Ajuda Builder Arquivo. Eu adicionei o componente de cache Msdn para o arquivo .shfbproj da seguinte forma:

<ComponentConfigurations>
  <ComponentConfig id="Cached MSDN URL References" enabled="True" xmlns="">
    <component id="Cached MSDN URL References" type="SandcastleBuilder.Components.CachedResolveReferenceLinksComponent" assembly="{@SHFBFolder}SandcastleBuilder.Components.dll" locale="{@Locale}" linkTarget="{@SdkLinkTarget}">
      <cache filename="$(MsdnCachePath)" />
      <targets base="{@SandcastlePath}Data\Reflection" recurse="true" files="*.xml" type="{@SDKLinks}" />
      <targets files="reflection.xml" type="{@ProjectLinks}" />
    </component>
  </ComponentConfig>
</ComponentConfigurations>

O valor da propriedade $ (MsdnCachePath) é:

<MsdnCachePath>$(MSBuildProjectDirectory)\Cache\MsdnUrl.cache</MsdnCachePath>

O problema é que este arquivo de cache não está sendo criado neste local após o arquivo de ajuda foi gerado. Alguma idéia por que isso não estaria acontecendo?

Foi útil?

Solução

Isso ocorre porque a seção ComponentConfigurations não não contém código MSBuild executado pelo MSBuild. ComponentConfigurations é uma propriedade que contém dados XML que serão passados ??para o componente em questão e não analisados ??pelo framework de componentes. Isto é indicado pelo uso de propriedades "SHFB" como

{@ SandcastlePath}

que não é uma propriedade MSBuild. Assim, $ regulares (..) propriedades não trabalho dentro deste xml.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top