2009-11-20 11 views
5

मैं एक पोस्ट बिल्ड इवेंट के रूप में विजुअल स्टूडियो के अंदर xUnit.Net के साथ एक गरीब व्यक्ति एकीकरण करने की कोशिश कर रहा हूं।विजुअल स्टूडियो (2008) में एसिंक्रोनस बिल्ड इवेंट कैसे बनाएं?

मैं क्या चाहता हूं जब मैं Shift + F6 दबाएं (परीक्षण प्रोजेक्ट बनाएं), सफल निर्माण के बाद इसे xUnit.Console.exe चलाएं और परिणाम को HTML फ़ाइल में आउटपुट करें और बाद में ब्राउज़र के अंदर HTML फ़ाइल लॉन्च करें ।

नीचे जो मैंने अभी तक प्राप्त किया है और यह काम करता है, लेकिन मेरी पसंद के अनुसार नहीं (इसमें ब्राउज़र क्रमशः एक मोडल संवाद के रूप में दिखाई देगा और मैं वापस स्विच नहीं कर सकता/आगे/टॉगल (Alt-Tab का उपयोग कर) । विजुअल स्टूडियो और ब्राउज़र के बीच अभी मैं ब्राउज़र वी.एस. जो एक तरह से बेकार है फिर से ध्यान केंद्रित हासिल करने के लिए के लिए बंद करना होगा

मेरे पोस्ट के नीचे का निर्माण घटना:।

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

ऐसा कैसे प्राप्त करने के लिए पर कोई विचार परिणाम.htm एक ब्राउज़र के अंदर प्रदर्शित होता है और एक मोडल मोड में नहीं?

आगे परीक्षण के बाद, ऐसा लगता है कि निष्पादित कोई भी खोल/आदेश मोडल मोड में चलाया गया। उदाहरण के लिए, मैंने कमांड खोल को पॉप अप करने के लिए सरल cmd.exe को आजमाया।

मैं शुरू सी का उपयोग कर की कोशिश की: \ Windows \ IE7 \ iexplore.exe "$ (TARGETDIR) result.htm" लेकिन है कि या तो काम नहीं किया ...

उत्तर

8

इसमें कुछ समय राउंड के बारे में हो सकता है, लेकिन प्रक्रिया शुरू करने के लिए विंडोज पावर-खोल का उपयोग करना प्रतीत होता है। मैं कुछ इस तरह करने के लिए पोस्ट का निर्माण घटना सेट:

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

इस मामले में, दृश्य स्टूडियो तुरंत नियंत्रण में आ, पूरा करने के लिए शुरू कर दिया प्रक्रिया का इंतजार किए बिना।

+0

कूल, मैं इसे देख लूंगा। –

0

मैं था पथ मैं उपयोग कर रहा था में रिक्त स्थान की वजह से 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 
संबंधित मुद्दे