Visual Studio 2012로 작업 중이며 Visual Studio의 테스트 프레임 워크 (mstest)를 사용하여 일부 통합 테스트를 개발 중입니다.Visual Studio 테스트, Process.Start, SQLCMD 및 Windows 명령 프로세서 오류
몇 일 전에 지금은 비주얼 스튜디오 2012을 많이 단순화하기 위해 출력 디렉토리에있는 테스트 (디버그 \ 즉 빈, 빈 \ 출시)와 내가 장애인 배포를 실행할 수에 관한 몇 가지 정보를 발견 사물의. 것들의 대부분은 예상대로 작동하지만
, 나는 큰 문제가 발견 : 일부 [ClassInitialize]
코드는 단지 배포을 해제 한 후, Process
클래스를 사용하여 프로세스를 실행하고 프로세스가 시작될 때마다,이 오류가 발생합니다 :
내 첫 인상은 공정 발사 어쩌면 뭔가가 잘못이고 나는 CMD에 동일한 명령 및 인수를 붙여 넣은 복사이었다 예상대로 일했다.
몇 가지 조사를 마친 후 왜 이런 일이 발생했는지 알아 냈습니다. 테스트 러너를 64 비트 프로세스로 시작하도록 구성했기 때문입니다. X86으로 전환 한 후 예를 들어 Process.Start("cmd")
이 작동했습니다.
하지만 더 나쁜 것은 입니다. SQLCMD - 테스트 실행 중에 실행되는 실제 프로세스는 여전히 소위 오류로 실패합니다.
이 오류는 Visual Studio 테스트 러너에서 프로세스가 시작될 때 발생합니다.
테스트 러너에서 시작할 때 SQLCMD는 어떻게됩니까?