2009-11-20 3 views
5

게시 빌드 이벤트로 Visual Studio 내부에서 xUnit.Net과의 불쌍한 사람 통합을 시도하고 있습니다.Visual Studio (2008)에서 비동기 빌드 이벤트를 만드는 방법은 무엇입니까?

내가 원하는 것은 Shift + F6 (테스트 프로젝트 빌드)을 누르면 빌드가 완료된 후 xUnit.Console.exe가 실행되고 결과가 HTML 파일로 출력되고 이후에 브라우저에서 html 파일이 실행됩니다. .

다음은 내가 지금까지 얻은 것입니다. 그러나 브라우저가 모달 대화 상자로 나타나고 뒤로/앞으로/전환 할 수 없습니다 (Alt-Tab 사용) .. VS 종류의 짜증 다시 초점을 얻기 위해 Visual Studio 및 브라우저 사이에 지금은 브라우저를 닫아야합니다

내 게시물 아래에 이벤트를 구축 :

"$(SolutionDir)\Components\xUnit.net\xunit.console.exe" "$(TargetPath)" /html "$(TargetDir)result.htm" 
"$(TargetDir)result.htm" 

를 이렇게하는 방법에 대한 어떤 생각을 result.htm은 모달 모드가 아닌 브라우저 내부에 표시됩니다.

추가 테스트를 한 후에는 실행 된 모든 셸/명령이 모달 모드로 실행 된 것처럼 보입니다. 예를 들어, 간단한 cmd.exe를 사용하여 명령 셸을 열어 보았습니다. ,

답변

8

이 라운드-에 대해 조금 수 있습니다 "$ (TARGETDIR) result.htm"을 \ WINDOWS \ IE7 \ iexplore.exe를을하지만 ... 작업 중 하나를하지 않았다 :

나는 시작 C를 사용하여 시도 Windows Power-Shell을 사용하여 프로세스를 시작하는 것이 효과가있는 것 같습니다. 나는 이런 식으로 뭔가에 포스트 빌드 이벤트 설정 :이 경우

powershell start-process <actual-command-line-to-run> 

를, Visual Studio를 완료하기 시작 과정을 기다리지 않고 즉시 제어를 되 찾는다.

+0

멋지다, 나는 그것을 조사 할 것이다. –

0

I이었다 때문에 내가 사용 된 경로에 공백에 PowerShell을 방법에 약간의 문제가, 대신 나는 그런 다음을 실행하기 위해이 같은 VBScript를이

Tests.vbs """$(DevEnvDir)mstest.exe""" 

같은 VBScript를 포스트 빌드 이벤트와 함께 가기로 결정 명령 비동기

'args 
mstest = WScript.Arguments(0)  'mstest path 
Set WshShell = WScript.CreateObject("WScript.Shell") 'Create Windows Shell Object 
WshShell.Run "Tests.bat """ & mstest & """", 0, false 'Run Async 
Set WshShell = Nothing 
관련 문제