2009-03-24 4 views
1

Sandcastle Help File Builder를 사용하여 응용 프로그램 용 문서를 작성하려고합니다. 다음과 같이 나는 .shfbproj 파일에 MSDN 캐시 구성 요소를 추가 :Sandcastle 도움말 파일 작성기가 Msdn 캐시를 지정된 폴더에 저장하지 않는 이유는 무엇입니까?

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

이 문제는이 캐시 파일은

을 생성하지 않을 것을 도움말 파일이 생성 된 후이 위치에 있습니다. 왜 이런 일이 일어나지 않을 거라 생각하니?

답변

2

이것은 ComponentConfigurations 섹션에 MSBuild에서 실행되는 MSBuild 코드가 포함되어 있지 않기 때문입니다. ComponentConfigurations는 문제의 구성 요소로 전달되고 해당 구성 요소 프레임 워크에서 파싱되는 XML 데이터를 포함하는 속성입니다. 이는 MSBuild를 등록하지

{@SandcastlePath}

같은 "SHFB"특성의 사용에 의해 표시된다. 따라서이 xml에서는 일반 $ (..) 속성이 작동하지 않습니다.

관련 문제