Sandcastle이 파일 빌더가 지정된 폴더에 MSDN 캐시를 저장하지 않는 이유는 무엇입니까?

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

  •  21-08-2019
  •  | 
  •  

문제

Sandcastle 도움말 파일 빌더를 사용하여 응용 프로그램의 문서를 작성하려고합니다. 다음과 같이 MSDN 캐시 구성 요소를 .shfbproj 파일에 추가했습니다.

<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>

$ (MSDNCACHEPATH) 속성의 값은 다음과 같습니다.

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

문제는 도움말 파일이 생성 된 후이 위치 에서이 캐시 파일이 생성되지 않는다는 것입니다. 왜 이런 일이 일어나지 않을지 아이디어가 있습니까?

도움이 되었습니까?

해결책

ComponentConfigurations 섹션에는 MSBuild가 실행 한 MSBuild 코드가 포함되지 않기 때문입니다. ComponentConfigurations는 해당 구성 요소로 전달되고 구성 요소 프레임 워크에 의해 구문 분석되는 XML 데이터를 포함하는 속성입니다. 이것은 "SHFB"속성을 사용하여 표시됩니다.

{@SandcastlePath}

MSBuild 속성이 아닙니다. 따라서이 XML 내에서 일반 $ (..) 속성은 작동하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top