2015-11-30 10 views
7

Ich möchte von MSBuild zu FAKE wechseln. In meinem MSBuild-Skript erstelle ich ein Webdeploy-Paket, indem ich MSBuild mit den Eigenschaften DeployOnBuild = True und DeployTarget = Package aufruft. Dies wird WebDeploy auslösen ein Bereitstellungspaket zu erzeugen, während die Build ausgeführt wird:FAKE: Wie definiert man MSBuild-Eigenschaften?

<MSBuild Projects="@(ItemToBuild)" 
     Targets="Build" 
     Properties="Configuration=$(Configuration); 
        Platform=$(Platform); 
        DeployOnBuild=True; 
        DeployTarget=Package; 
        OutFolder=$(OutFolder)" /> 

Wie kann ich die gleiche Sache mit FAKE tun? Ich bin so weit gekommen:

Target "Build" (fun _ -> 
    !! solutionFile 
    |> MSBuildRelease binDir "Build" 
    |> Log "Build-Output: " 
) 

Wie kann ich die erforderlichen Eigenschaften angeben?

Antwort

9

Wenn Sie die source code betrachten, werden Sie sehen, dass MSBuildRelease nur eine Verknüpfung für MSBuild mit bestimmten vordefinierten Eigenschaften ist. Wenn Sie neben "Konfiguration" noch weitere Eigenschaften definieren müssen, können Sie einfach auf MSBuild zurückgehen:

Target "Build" (fun _ -> 
    !! solutionFile 
    |> MSBuild binDir "Build" 
     [ 
      "Configuration", "Release" 
      "Platform", "AnyCPU" 
      "DeployOnBuild", "True" 
      "DeployTarget", "Package" 
      "OutFolder", "/what/ever" 
     ] 
    |> Log "Build-Output: " 
)