msbuild를 사용하여 작업중인 빌드 작업이 있습니다. 과제 내에서 여러 가지 목표가 있으며 그 중 일부는 준비 작업을 수행합니다.여러 DependsOnTargets가 실행되지 않습니다.
"msbuild myEvent.msbuild/t : event3"을 실행하면 이벤트가 실행됩니다. DependsOnTargets의 첫 번째 이벤트는 실행되지만 대상 목록의 두 번째 이벤트는 실행되지 않습니다. 예
<!-- only event1 will fire -->
<Target Name="event3" DependsOnTargets="event1; event2">
<Task TaskAction="myAction3"/>
</Target>
<Target Name="event1" DependsOnTargets="event4">
... do tasks here
</Target>
<Target Name="event2" >
... do tasks here
</Target>
<Target Name="event4" >
</Target>
은 내가 DependsOnTargets 값의 공간을 제거하여이 문제를 수정하려고했습니다. 필자는 세미콜론으로 구분 된 값을 가지고 있는지 확인합니다. BeforeTargets와 AfterTargets를 성공없이 사용하려고했습니다.
내 msbuild 코드는 ToolsVersion 4.0을 대상으로합니다.
DependsOnTargets의 작동 방식이 누락 되었습니까?
편집
- 나는 내 문제를 알아 냈다고 생각합니다. MSBuild는 같은 대상을 두 번 이상 실행할 수 없습니다. 이 경우
- 나는
- 이 zip 파일
- 에서 일부 데이터베이스 파일의 압축을 풉니 서비스
- 을 중지 데이터베이스 서비스를 시작 데이터베이스 서비스를
- 드롭 데이터베이스를 시작
-
-
다음을 수행해야
- 데이터베이스 연결
- 데이터베이스에 대한 추가 작업 수행 ...
- 첫 번째 시작 데이터베이스 서비스가 실행되고 데이터베이스가 삭제되고 서비스가 중지됩니다. 데이터베이스 서비스를 시작하기위한 다음 호출이 실패합니다.
이 문제를 좀 더 생각한 후에 나는 문제를 알고 있다고 생각합니다. 문제는 내 일련의 이벤트에서 여러 이벤트 중 하나를 호출한다는 것입니다. 이벤트가 이미 한 번 실행되었으므로 이벤트가 다시 호출되지 않습니다. 제 경우에는 서비스를 시작하고, 조치를 수행하고, 서비스를 중지하고, 서비스가 중지 된 동안 다른 조치를 수행 한 다음, 서비스를 다시 시작하여 다른 조치를 수행해야합니다. :) –
반복되는 코드를 줄이기 위해 작업과 같은 대상을 사용하려고합니다. 대상은 한 번만 나타나고 나타나는 순간에만 실행됩니다. –
예. 빌드의 후속 대상이 종속 된 경우에도 대상이 단일 빌드 중에 두 번 실행되지 않습니다. 대상이 실행되면 빌드에 대한 기여가 완료됩니다.원래 문제가 해결되었으므로 24 시간 후에 답변을 게시하고 표시 할 수 있습니다. –