लटकता है मैं वर्तमान में कुछ और अधिक सुरुचिपूर्ण - ऑक्टोपस के साथ हमारे हैक किए गए एक साथ तैनाती प्रणाली को फिर से जोड़ रहा हूं। ऐसा करने में, जब मैं रिलीज बिल्ड चलाता हूं तो मैं एक प्रोजेक्ट को पैकेज करने के लिए वीएस प्राप्त करने की कोशिश कर रहा हूं। खैर मेरे पास यह फैंसी पावरहेल स्क्रिप्ट लिखी और काम कर रही है, लेकिन जब मैं एमएसबिल्ड स्क्रिप्ट से EXEC की कोशिश करता हूं, तो विजुअल स्टूडियो बस लटकता है!Exec powershell.exe msbuild
सबसे पहले मुझे संदेह था कि शैल में सामान से बचने का तरीका था, लेकिन मैंने इसे हास्यास्पद रूप से सरल बना दिया, और यह अभी भी जम गया।
<PropertyGroup>
<PowerShellExe Condition=" '$(PowerShellExe)'=='' ">
%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe
</PowerShellExe>
</PropertyGroup>
<Target Name="AfterBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Exec Command="$(PowerShellExe) -NonInteractive -executionpolicy Unrestricted -command get-childitem" />
</Target>
सभी यह करना चाहिए निर्देशिका प्रविष्टि देने है:
यहाँ प्रासंगिक MSBuild कोड है। cmd.exe से इस कॉलिंग ठीक काम करता है:
C:\Users\smithj>%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe -noninteractive -executionpolicy unrestricted -command dir
इस कोशिश कर रहा है:
msbuild Solution.sln /p:Configuration=Release
मुझे इस हो जाता है:
AfterBuild:
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\\tf.exe" che
ckout Package.nuspec
Package.nuspec
%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe
-NonInteractive -executionpolicy Unrestricted -command dir
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.
उसके बाद, यह बस हमेशा के लिए लटका हुआ है। किसी भी सुझाव का स्वागत है।
वैसे मैं निश्चित रूप से यह नहीं देख रहा था। आप बिल्कुल सही हैं। संयोग से यह नहीं है कमांड प्रॉपर्टी में न्यूलाइन की तरह। वैसे भी, आपने सिर पर नाखून मारा। मैंने इस पर घंटों बिताए .. यह अंत में हमेशा बेवकूफ है :) बहुत बहुत धन्यवाद! – monkeybuffer
एनपी मेरी खुशी। –
मैंने इसके साथ घंटों तक लड़ा। मेरी इच्छा है कि "msbuild फ़ाइल में लाइन ब्रेक न डालें" से बेहतर जवाब था। मुझे आश्चर्य है कि क्या एक अतिरिक्त अर्धविराम या कुछ अंततः इस के आसपास हो जाएगा? असल में, मुझे लगता है कि यह टर्मिनल लाइन में प्रवेश करने की प्रतीक्षा कर रहा है जैसे कि पावरहेल में जब आप लाइन ब्रेक के साथ कई लाइनों को फैलाते हैं तो आपको अंत में अतिरिक्त एक रखना होगा। किसी भी तरह से, मुझे कितनी राहत मिलती है कि मैं कम से कम इस पर काम कर सकता हूं। मुझे इस तरह की चीजों पर अपने पहियों को कताई से नफरत है। – EdFred