웹 응용 프로그램을 빌드하고 배포하도록 TFS 빌드가 설정되었습니다. TFS 빌드 정의의 MSBuild 인수를 통해 MSDeploy 매개 변수를 전달합니다. 처음으로 라운드가 정상적으로 작동합니다. 누군가가 웹 애플리케이션에 액세스 할 때 컨트롤 중 하나 (Microsoft 차트 컨트롤)는 솔루션에 추가 한 빈 디렉토리에 몇 개의 파일을 생성합니다.MSDeploy에서 파일을 삭제할 수 없습니다.
내가 다시 빌드 (또는 지속적인 통합이 트리거 됨)되면 다음 빌드는 일반적으로 생성 된 파일 중 하나를 삭제할 수 없으므로 실패합니다. 파일을 수동으로 삭제하려고하면 IIS 작업자 프로세스가이 파일을 사용하고 있으며 삭제할 수 없다고 알려줍니다.
지금 빌드 빌드를 얻으려면 매번 수동으로 IIS를 다시 시작해야하는데, 이는 CI를 염두에두고 바람직하지 않습니다. Microsoft.Web.Publishing.Tasks.dll을 살펴보고 MSDeploy를 사용하여 IIS를 다시 시작할 수있는 방법은 없습니다.
임시 파일의 스텁을 솔루션에 추가하는 것이 해결책 일 수 있다고 생각합니다. 파일이 배포의 영구적 인 부분 인 경우 MSDeploy가 프로세스를 닫을 수 있습니다. 솔루션 파일에서 Exec과 함께 약간의 불쾌감이 생기면 IIS가 재설정됩니다.
길게 보였을 지 모르지만 누구나이 문제에 대처하고 좋은 해결책을 찾았습니까?
솔루션에 스텁 파일을 저장하고 빌드가 완료되었습니다. – bucktronic