2012-09-14 2 views
1

ProcessProcessInfo 클래스를 사용하는 TFS 2010 빌드에서 실행되는 사용자 지정 워크 플로 작업을 사용하여 우리의 WCF 서비스를 호스팅하는 사용자 지정 .exe을 시작합니다. 단위 테스트.C# 프로세스에서 .exe를 시작하면 .exe를 직접 실행하는 것과 다른 결과가 발생합니다.

ProcessProcessInfo 클래스를 사용하여 내 워크 플로 작업에서 사용자 지정 .exe를 실행하면 아무 것도 작동하지 않고 내 단위 테스트가 통과하지 않습니다. 그러나 빌드 서버에서 .bat 파일을 사용하여 프로세스를 직접 시작하면 모든 테스트가 성공적으로 완료됩니다.

닷넷에서 Process 클래스의 프로세스를 실행하는 것과 .bat 파일을 사용하여 직접 실행하는 것의 차이점은 무엇입니까?

+0

다른 환경 변수 또는 다른 작업 디렉토리가 될 수 있습니까? 나는 TFS에 대해 많이 모른다. 그래서 그것은 단지 추측이다. – Samuel

+0

누가 exe를 실행하고 있습니까? ... 나는 잠깐 동안 침몰하게 할 것입니다. –

+0

프로세스가 TFS 빌드에서 실행 중일 때 서비스 계정에서 실행되고 해당 서비스 계정이 WCF 서비스를 호스팅하는 사용자 지정 .exe를 시작하지만이 방법으로는 작동하지 않습니다. 직접 빌드 서버에 로그인 할 때 동일한 서비스 계정을 사용하여 WCF 서비스를 호스트하는 사용자 지정 .exe를 실행하는 .bat 파일을 실행하며이 때마다이 작업이 올바르게 작동합니다. – pgoostree

답변

1

나는 잘못한 것을 알아 낸다. 내 .bat 파일에서 WCF 서비스를 호스팅하는 사용자 지정 .exe를 실행했을 때 사용자 지정 .exe의 작업 디렉터리에 "cd"를 명시 적으로 수행했습니다. 하지만 C# 사용자 지정 워크 플로 작업에서 ProcessInfo 형식의 작업 디렉터리를 설정하지 않았습니다. 일단 내가 그것을하면 그것은 완벽하게 작동합니다! 귀하의 의견에 감사드립니다.

+0

완벽 하군,이게 나를 도와 줘! – NetZeroSaw