2017-02-10 1 views
2

에 변하기 쉬워 프로젝트 : Msi.msbuild Variables.msbuild 프로젝트를 가져옵니다MSBuild를 가져 오기 내가 MSBuild에서 스크립트를 실행

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="CreateInstaller"> 

    <Import Project="$(RedistDir)\Framework\Variables.msbuild" /> 
<Project> 

Msi.msbuild 다른 msbuild를 스크립트에서 여러 시간을 구축입니다 : BuildMsi.msbuild

<Target Name="CreateEnvironmentSpecificInstaller" DependsOnTargets="$(SpecificBuildSteps)"> 
    <Message Text="Write installer to $(OutputDir)" /> 
    <MSBuild Projects="$(RedistDir)\Framework\Msi.msbuild" Targets="CreateBatchScripts" StopOnFirstFailure="true" Properties="Configuration=$(Configuration);" RebaseOutputs="true" /> 
    </Target> 

대상 CreateEnvironmentSpecificInstaller는 Variables.msbuild의 내용이 변경 될 때마다 여러 번 호출됩니다.

하지만 변수의 속성 값 중 첫 번째 값만 모든 실행 시간에 사용된다는 것을 알 수 있습니다. 첫 번째 값보다 더 이상 가져 오지 않는 것 같습니다.

어떻게 변수를 강제로 다시 가져올 수 있습니까?

+0

Variables.msbuild가 예상 한대로 변경되었는지 어떻게 확인합니까? 스크립트가 파일을 변경합니까? – wkl

+0

예, Xml.XslTransform을 사용하여 스크립트를 변경해야합니다.

+0

명령 행이나 VisualStudio에서 이것을 실행합니까? – wkl

답변

0

답변을 주셔서 감사합니다. 해당 게시물의 아이디어를 바탕으로 변수 파일의 이름을 바꾸고 그 파일을 가져 와서 캐싱을 막으려 고합니다.

관련 문제