powershell
  • msbuild
  • 2012-03-08 3 views 6 likes 
    6

    मैं एक साधारण चर गुजर पारित करने के लिए कोशिश कर रहा हूँ,पैरामीटर के साथ सरल Powershell MSBuild विफल रहता है

    कोई पैरामीटर

    msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU" 
    
    $buildOptions = '/p:Configuration=Debug /p:Platform="Any CPU"' 
    msbuild MySolution.sln + $buildOptions 
    

    प्रयास करें -> कारण MSB1008

    कोशिश 2

    $command = "msbuild MySolution.sln" + $buildOptions 
    Invoke-expression $command 
    

    -> कारण MSB1009

    मैं this पोस्ट पर समाधान की कोशिश की लेकिन मुझे लगता है कि यह एक अलग त्रुटि है।

    उत्तर

    12

    इनमें से किसी एक का प्रयास करें:

    msbuild MySolution.sln $buildOptions 
    
    Start-Process msbuild -ArgumentList MySolution.sln,$buildOptions -NoNewWindow 
    

    वैसे, वहाँ PowerShell में एक नई सुविधा है v3 सिर्फ स्थितियों के इस प्रकार के लिए, के बाद कुछ भी -% उसी रूप में व्यवहार किया जाता है, तो तुम आदेश होगा देखो की तरह:

    msbuild MySolution.sln --% /p:Configuration=Debug /p:Platform="Any CPU" 
    

    अधिक जानकारी के लिए यह पोस्ट देखें: http://rkeithhill.wordpress.com/2012/01/02/powershell-v3-ctp2-provides-better-argument-passing-to-exes/

    +0

    +1 - पावरशेल v3 में% –

    1

    आपके बीच कहीं न कहीं एक जगह डाल करने के लिए की जरूरत हैऔर पैरामीटर की सूची। तुम्हारे पास है के रूप में,

    msbuild MySolution.sln/p:Configuration=Debug /p:Platform="Any CPU" 
    

    और MSBuild में कमांड लाइन परिणामों पर विचार करेंगे "MySolution.sln/p: विन्यास = डिबग", परियोजना/समाधान फ़ाइल का नाम होने के लिए इस प्रकार MSB10009: Project file does not exist. हो जाती है।

    आप MySolution.sln के बाद लगता है कि जिसके परिणामस्वरूप कमांड लाइन कुछ इस तरह (अंतरिक्ष ध्यान दें है बनाने की जरूरत है:

    msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU"  
    

    तरीके आश्वस्त करने के लिए बहुत सारे हैं Powershell सिंटैक्स का उपयोग, उनमें से एक है कि:

    $buildOptions = '/p:Configuration=Debug /p:Platform="Any CPU"' 
        $command = "msbuild MySolution.sln " + $buildOptions # note the space before the closing quote. 
    
        Invoke-Expression $command 
    

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

    • कोई संबंधित समस्या नहीं^_^