Windows Powershell में Visual Studio कमांड लाइन उपकरण चलाएँ


10

Cmd.exe में, मैं बस चलाऊंगा

%VS80COMNTOOLS%\vsvars32.bat

विज़ुअल स्टूडियो कमांड लाइन टूल (यानी सीएल, लिंक, एमटी, आदि) चलाने के लिए पर्यावरण स्थापित करने के लिए। मुझे आश्चर्य है कि मैं इन उपकरणों को पॉवर्सशेल में चलाने के लिए पर्यावरण कैसे स्थापित कर सकता हूं। ज़रूर, इसका उपयोग करके बैच फ़ाइलों को चलाना संभव है

start-process $env:vs80comntools\vsvars32.bat

लेकिन तब पर्यावरण समाप्त हो जाएगा जब प्रक्रिया समाप्त हो जाएगी। मैंने पहले ही System.Diagnostics.StartProcessInfo, के साथ कुछ प्रयोग किए हैं

$proc = start-process $env:vs80comntools\vsvars32.bat -passthru
$procInfo = proc.StartInfo

और तब से पर्यावरण मिलता है $procInfo.EnvironmentVariablesलेकिन यह भी काम नहीं करता है।

क्या पॉवरशेल में पर्यावरण स्थापित करने के लिए कोई अन्य तरीके हैं?

जवाबों:



2

PSCX की Import-VisualStudioVarsएक बड़ी स्क्रिप्ट है जो कि नकल करने की कोशिश vsvars32.batकरती है। वहाँ समस्या यह है कि उन्हें सिंक में रखने के लिए प्रयास की आवश्यकता होती है और यह कीड़े का स्रोत हो सकता है।

मैं vsvars32.bat पर भरोसा करना पसंद करता हूं कि वह क्या करता है, और env आयात करता है। वार्स। पॉवरशेल में। मैं Invoke-CmdScript.ps1 के साथ ऐसा करता हूं


उत्तर के लिए धन्यवाद। मैंने पहले ही यह मान लिया है कि इंपोर्ट-विजुअलस्टडियोवर्वर कमोबेश वास्तव में इसे लागू करने के बजाय vsvars32.bat के निष्पादन का मजाक उड़ाता है। हालाँकि, यह देखते हुए कि VSv के एक विशिष्ट संस्करण के लिए vsvars32.bat काफी स्थिर है, मुझे वास्तव में नहीं लगता है कि दोनों विकल्पों के परिणामों को सिंक में रखने की वास्तविक समस्या है। फिर भी, मैं आपके प्रस्ताव का प्रयास करूंगा।
उवे होन्कम्प

0

PowerShell गैलरी से एक अन्य विकल्प: पॉश बनाम vs Visual Studio कमांड लाइन टूल जो कि PowerShell में उपलब्ध है। विजुअल स्टूडियो 2017 और 2015 का समर्थन करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.