내 프로젝트 중 하나의 일부로 궁극적으로 일부 파일을 생성하는 "BeforeBuild"작업이 있습니다. 특히 작은 정적 클래스 (프로젝트에서 "컴파일하지 않음"으로 포함)를 자체 실행 파일에 컴파일 한 다음 실행하여 프로젝트에 포함 할 새 생성 클래스를 출력하는 외부 입력 파일을 전달합니다.MSBuild - 빌드에서 "정리"될 파일 추가
중간 파일을 프로젝트 $ (OutDir)에 저장하도록 프로그래밍했지만 "다시 작성"(및 궁극적으로 "정리")에서 이러한 파일을 가져 오지 않았습니다. 몇 가지 생각을하고 나면 $ (ProjectDir)에 바로 배치 된 최종 생성 클래스가 "Clean"에서도 삭제되어야한다는 것을 알았습니다.
Microsoft.Common.targets에 대한 조사에 따르면 중간 경로 (obj \ build \ assembly.FileListAbsolute.txt)에서 삭제할 파일을 쿼리 한 일부 "마스터 목록"이 있음이 드러났습니다.
내 새 파일을 MSBuild의이 목록에 추가하여 표준화 된 방법으로 정리할 수 있습니까? 아니면 "BeforeClean"(또는 "AfterClean") 대상 오버라이드가 더 적합할까요?
Perfect! * Clean Process 확장 *은 정확히 내가 찾고 있던 것이 었습니다! 내년에 빌드 스크립트에 2 시간 이상을 쓸 필요가 없기를 바랄뿐입니다.하지만이 책은 가까운 장래에 내 책상으로 갈 것입니다. –
@ Jeff Wight : 당신은 그것을 숨길 수 없습니다 - MSBuild-ese를 이해할 가치가 있습니다. 시간이 지나면 우아하게 감상 할 수도 있습니다! http://stackoverflow.com/questions/47884/is-it-worth-learning-to-use-msbuild 및 http://stackoverflow.com/questions/1326445/is-there-a-good-tutorial-on- msbuild-scripts –
그래, 내가 Ruben에 동의한다! –