2009-11-20 3 views
0

je le test suivant défini dans un script de compilation psake:transmission de paramètres dans PowerShell 2.0

task package -depends create_wix_content_fragment { 

    & $candle -dProductName=Foo ` 
      -dVersion=$version ` 
      -dProductID=0cd64670-5769-4e34-8b21-c6242e7ca5a2 ` 
      -dUpgradeCode=307601e9-4eea-4b5c-938a-354115d5c419 ` 
      -dAppPool=FooAppPool ` 
      -dInstallDirectory=Foo ` 
      -ext WixIISExtension ` 
      -ext WixUIExtension ` 
      $wix_shell ` 
      $build_output_dir\WebContent.wxs 
} 

Pour une raison Powershell passe la variable $ version en tant que chaîne « $ version » au lieu de la valeur de " 1.0.0.0 ".

Comment puis-je empêcher cela?

Répondre

0

a obtenu, a été en mesure d'obtenir les paramètres corrects en modifiant ce qui précède comme ceci:

task package -depends create_wix_content_fragment { 
    $version_parameter = "-dVersion={0}" -f $version 

    & $candle -dProductName=Foo ` 
      $version_parameter ` 
      -dProductID=0cd64670-5769-4e34-8b21-c6242e7ca5a2 ` 
      -dUpgradeCode=307601e9-4eea-4b5c-938a-354115d5c419 ` 
      -dAppPool=FooAppPool ` 
      -dInstallDirectory=Foo ` 
      -ext WixIISExtension ` 
      -ext WixUIExtension ` 
      $wix_shell ` 
      $build_output_dir\WebContent.wxs 
} 
Questions connexes