속성 목록 및 속성
선택적 속성 목록 섹션에서는 나중에 구성 파일에 사용할 수도 있는 변수(벣憺틪이라고 함)를 정의하고 할당할 수 있습니다. 이 절에 정의된 속성 정의를 벓뻠? 속성이라고 합니다.
<!-- define expandable properties -->
<!-- optional -->
<propertylist>
<property name="projectname" value="myproject"/>
<property name="projectdir" value="c:\myprojects"/>
</propertylist>
이 섹션에서 정의하지 않고 구성 파일에서 변수(벣憺?참조?를 사용할 수도 있습니다. 예를 들어, 명령줄에서 정의하거나 환경에서 가져올 수도 있습니다.
속성은 속성과 연관된 값을 찾는 다음과 같은 알고리즘을 사용하여 문자열 대체를 통해 작동합니다.
- 외부 속성 목록에서 값을 확인합니다.
- 값이 없으면 속성과 동일한 이름의 환경 변수를 찾습니다.
- 환경 변수도 없으면 구성 파일의 propertylist 섹션에서 내부 정의를 찾습니다.
- 내부 정의도 없는 경우에는 빈 문자열을 값으로 사용합니다.
외부 속성은 명령줄에서 p
옵션을 사용하여 전달됩니다. 다음 세 가지 외부 속성이 기본적으로 제공됩니다.
- Dotfuscator의 설치 디렉터리를 나타내는 밶pplicationdir?/li>
- Dotfuscator의 로컬 데이터 디렉터리를 나타내는 밶ppdatadir?/li>
- 구성 파일이 있는 디렉터리를 나타내는 밹onfigdir?/li>
속성은 여러 프로젝트나 동일한 프로젝트의 여러 버전에서 또는 다른 빌드 환경들 간에 쉽게 이동할 수 있도록 템플릿 역할을 하는 구성 파일을 만들 때 유용합니다.
속성은 다음 구문으로 참조됩니다.
${property_name}
속성 참조는 대/소문자를 구분하므로 ${MyProjectDir}
와 ${myprojectdir}
는 다른 속성을 참조합니다.
구성 파일 어디에서든 속성 참조를 사용할 수 있는 것은 아닙니다. 현재, 속성 참조는 <file> 요소의 밺ir?또는 뱊ame?특성 값으로만 사용할 수 있습니다. 다음은 <file> 요소를 사용하는 섹션입니다.
inputassembly | mapinput | mapoutput |
output | tempdir | assembly |
removalreport | transform | key |
loadpaths | program | filelist |
구성 파일의 다른 위치에서는 속성 참조가 문자 그대로 해석됩니다.
속성 참조는 중첩될 수 없습니다. 속성 참조를 중첩하면 오류가 발생합니다.
다음은 사용 중인 속성 참조에 대한 예입니다.
<output>
<file dir="${testdir}\output"/>
</output>
© 2002-2007 PreEmptive Solutions. All rights reserved.