2009-11-20 32 views
5

ビルド後のイベントとしてVisual Studio内からxUnit.Netとの貧弱な人の統合を試みています。Visual Studio(2008)で非同期のビルドイベントを作成する方法は?

Shift + F6(テストプロジェクトのビルド)を押すと、ビルドが成功した後、xUnit.Console.exeが実行され、結果がhtmlファイルに出力され、その後、ブラウザ内でhtmlファイルが起動されます。 。

以下は私が今までに得たものですが、好きなものではありません(ブラウザはソートのモーダルダイアログとして表示され、Alt-Tabを使って前後に切り替えることはできません) Visual Studioとブラウザ間のVSは一種の吸うどの再び焦点を獲得するために今、私は、ブラウザを閉じる必要があります

マイポスト下記のイベントをビルドします。。ので、それを取得する方法について

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

を任意のアイデアresult.htmはモーダルモードではなくブラウザ内に表示されますか?

さらにテストした後、シェル/コマンドはモーダルモードで実行されたようです。たとえば、単純なcmd.exeを使用してコマンドシェルをポップアップ表示させてみました。

私はスタートCを使用してみました:\ WINDOWS \ IE7 \ iexplore.exeを "$(TARGETDIR)result.htm" それは...

答えて

8

いずれも動作しませんでしたこれは、ビットのラウンドについてのかもしれませんWindows Power-Shellを使用してプロセスを開始すると動作するようです。私はこのような何かにポストビルドイベントを設定します。この場合、

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

、Visual Studioが完了するために開始したプロセスを待たずに、すぐに制御を取り戻します。

+0

クール、私はそれをチェックアウトします。 –

0

Iだったため、私が使っていたパスにスペースにPowerShellの方法でいくつかの問題を抱えて、代わりに私が次に起動するには、このようにVBScriptのこの

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

のようなVBScriptのポストビルドイベントに行くことにしましたコマンドasync

'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 
関連する問題