2012-03-01 9 views
6

जब मैं कोई बिल्ड चलाता हूं, कभी-कभी मुझे एक कोड परिवर्तन दिखाई देता है जिसे मैं भूल गया। तो मैं निर्माण रद्द करना चाहता हूं। मेरे आईडीई को लॉक करने के निर्माण के कारण, मुझे Ctrl + ब्रेक का उपयोग करना है, हालांकि, यह पर्याप्त तेज़ी से प्रतिक्रिया नहीं देता है।कमांड लाइन का उपयोग कर विजुअल स्टूडियो बिल्ड को कैसे रद्द करें?

मैं एक कमांड लाइन दृष्टिकोण की तलाश में हूं इसलिए मैं अपने त्वरित लॉन्च में बैच फ़ाइल को हिट कर सकता हूं।

Taskkill /IM aspnet_compiler.exe /F 

बहरहाल, यह केवल वर्तमान परियोजना के निर्माण से बंद हो जाता है और मेरी बहु परियोजना समाधान में अगले एक शुरू होता है: मैं इस आदेश की कोशिश की।

मैं कमांड लाइन का उपयोग करके बिल्ड को कैसे रद्द कर सकता हूं?

उत्तर

1

मैं एक कच्ची विधि के साथ आया हूं जो मेरे लिए अच्छा काम कर रहा है।

मेरे पास निम्न बैच स्क्रिप्ट है।

@echo off 
echo KILL BILLd 
for /L %%i in (1,1,10) do (
    Taskkill /IM aspnet_compiler.exe /F 
    timeout 1 
) 

(ऊपर, 10 = सेकंड)

मैं तो जो मुझे अतिरिक्त करने की अनुमति देता है कि एक ही फ़ोल्डर में बैच स्क्रिप्ट की एक शॉर्टकट बनाने।

  • मेरी त्वरित लॉन्च बार के लिए आइकन छवि असाइन करें।
  • इसे कम से कम निष्पादित करने के लिए सेट करें।
  • वैश्विक शॉर्ट कट कुंजी कॉम्बो असाइन करें।

VS2010 में, मैं ऊपर CTRL + शिफ्ट + बी अपने निर्माण सभी के रूप में स्थापित किया है। (पुनर्निर्माण नहीं)।

शॉर्टकट के लिए और चूंकि मेरी भूलभुलैया आमतौर पर उस क्षेत्र में घूम रही है जब मुझे भूल गए कोड में परिवर्तन दिखाई देता है। मेरे बैच शॉर्टकट कुंजी कॉम्बो CTRL + शिफ्ट + एएलटी + बी है।

5

निम्नलिखित बंद हो जाता है सभी परियोजनाओं के लिए बनाता है, दृश्य स्टूडियो के सभी उदाहरणों भर में:

taskkill /im msbuild.exe /f 
+0

यह आदेश काम नहीं करता है। जब मेरा विजुअल स्टूडियो बनाता है, प्रक्रिया सूची में कोई MSBuild.exe नहीं है। –

+0

विजुअल स्टूडियो एक अलग प्रक्रिया के रूप में 'MSBuild.exe' को नहीं बढ़ाता है। यह प्रक्रिया में एमएसबिल्ड "फ्रेमवर्क" का उपयोग करता है। यह 'सीएससी.एक्सईई' (सी # कंपाइलर) भी लॉन्च नहीं करता है, बीटीडब्ल्यू, यह इसके लिए एक प्रक्रिया में भी उपयोग करता है। –

+0

क्षमा करें - मैं सी ++ मोड में था (जिसके लिए यह काम करता है) – Fraser

1

दुर्भाग्य से, दृश्य स्टूडियो संकलक है। aspnet_compiler विचारों को संकलित करने के लिए है, इसलिए आप इसे सूची में देखते हैं।

आप process explorer प्राप्त करके और प्रक्रिया के पेड़ को देखकर सत्यापित कर सकते हैं। आप ध्यान देंगे कि डेवेन कभी एमएसबिल्ड, सीएससी, या किसी अन्य कंपाइलर को स्पॉन नहीं करता है। लेकिन डीवेनव सीपीयू और आई/ओ में स्पाइक करता है।

12

मुझे पूरे MSBuild.exe प्रक्रिया पेड़ को मारने के लिए /t ध्वज जोड़ना पड़ा। यही कारण है:

taskkill /im msbuild.exe /f /t 

मेरे मामले में, मैं ग्नू Emacs से MSBuild.exe शुरू करने और किसी कारण के लिए जीएनयू Emacs अगर मैं इसे पुनः आरंभ करना चाहते हैं नहीं हमेशा MSBuild.exe को मारने के लिए सक्षम है। मैं इसे बैकअप के रूप में उपयोग करता हूं।मैं वीएस -2010 में सी ++ कर रहा हूं।

+1

'/ t' ध्वज क्या करता है? हमें जवाब के लिए नुस्खा न केवल समझने की जरूरत है। – eh9

+0

/टी विंडोज को प्रक्रिया को समाप्त करने के साथ-साथ किसी भी बाल प्रक्रिया को समाप्त करने के लिए कहता है। मैंने देखा कि MSBuild.exe चलते समय बाल प्रक्रियाओं को जन्म दे सकता है। सभी बच्चों को मारने के बिना, संकलन एक अप्रत्याशित स्थिति में छोड़ा जा सकता है (या कुछ फैशन में चलना जारी रख सकता है)। निरीक्षण करने का एक अच्छा तरीका sysinternals उपकरण, प्रक्रिया एक्सप्लोरर (procexp.exe) का उपयोग करना है। आप कई बच्चों को MSBuild.exe spawn देख सकते हैं। –

-1

मेनू पर जाएं और फिर विकल्प में क्लिक करें: कैंसल। वीएस2013 में परीक्षण किया।

संबंधित मुद्दे