Note: This is the migration API reference for FAKE 5. The new (modularized) API documentation can be found here. If the API is already migrated you can check here if exists in a module. More information regarding the migration can be found here

MSBuild

Nested types and modules

TypeDescription
CliArguments

A type for MSBuild task parameters

Functions and values

Function or valueDescription
MSBuild.addBinaryLogger(...)
Signature: exePath:string -> callMsbuildExe:(string -> string) -> args:string -> disableFakeBinLoger:bool -> 'b option * string
Type parameters: 'b
MSBuild.asCliArguments(x)
Signature: x:MSBuildParams -> CliArguments
MSBuild.build setParams project
Signature: setParams:(MSBuildParams -> MSBuildParams) -> project:string -> unit

Runs a MSBuild project

Parameters

  • setParams - A function that overwrites the default MSBuildParams
  • project - A string with the path to the project file to build.

Sample

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
open Fake.DotNet
let buildMode = Environment.environVarOrDefault "buildMode" "Release"
let setParams (defaults:MSBuildParams) =
        { defaults with
            Verbosity = Some(Quiet)
            Targets = ["Build"]
            Properties =
                [
                    "Optimize", "True"
                    "DebugSymbols", "True"
                    "Configuration", buildMode
                ]
         }
MSBuild.build setParams "./MySolution.sln"
namespace Fake
namespace Fake.DotNet
val buildMode : string
val setParams : defaults:MSBuildParams -> MSBuildParams
val defaults : MSBuildParams
type MSBuildParams =
  {ToolPath: string;
   WorkingDirectory: string;
   Targets: string list;
   Properties: (string * string) list;
   MaxCpuCount: int option option;
   DoRestore: bool;
   NoLogo: bool;
   NodeReuse: bool;
   RestorePackagesFlag: bool;
   ToolsVersion: string option;
   ...}
    member WithEnvironment : map:Map<string,string> -> MSBuildParams
    static member Create : unit -> MSBuildParams
union case Option.Some: Value: 'T -> Option<'T>
union case MSBuildVerbosity.Quiet: MSBuildVerbosity
module MSBuild

from Fake.DotNet
val build : setParams:(MSBuildParams -> MSBuildParams) -> project:string -> unit
MSBuild.buildArgs(setParams)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> MSBuildParams * string
MSBuild.buildWebsite(...)
Signature: outputPath:string -> projectFile:string -> unit

Builds the given web project file with debug configuration and copies it to the given outputPath.

Parameters

  • outputPath - The output path.
  • projectFile - The project file path.
MSBuild.buildWebsiteConfig(...)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> outputPath:string -> configuration:string -> projectFile:string -> unit

Builds the given web project file in the specified configuration and copies it to the given outputPath.

Parameters

  • setParams - A function that overwrites the default MSBuildParams
  • outputPath - The output path.
  • configuration - MSBuild configuration.
  • projectFile - The project file path.
MSBuild.buildWebsites(...)
Signature: outputPath:(MSBuildParams -> MSBuildParams) -> projectFiles:string -> seq<string> -> unit

Builds the given web project files with debug configuration and copies them to the given websiteDir.

Parameters

  • outputPath - The output path.
  • projectFiles - The project file paths.
MSBuild.buildWebsitesConfig(...)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> outputPath:string -> configuration:string -> projectFiles:seq<string> -> unit

Builds the given web project files in specified configuration and copies them to the given outputPath.

Parameters

  • setParams - A function that overwrites the default MSBuildParams
  • outputPath - The output path.
  • configuration - MSBuild configuration.
  • projectFiles - The project file paths.
MSBuild.buildWithRedirect(...)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> project:string -> Choice<ProcessResult,(exn * ProcessResult)>
MSBuild.fromCliArguments(p)
Signature: p:CliArguments -> string
MSBuild.getVersion
Signature: string -> (string -> string) -> Version
MSBuild.handleAfterRun(...)
Signature: command:string -> binLogPath:'a -> exitCode:int -> project:string -> unit
Type parameters: 'a
MSBuild.msBuildExe
Signature: string
Attributes:
[<Obsolete("Implementation detail.")>]
OBSOLETE

Implementation detail.

MSBuild.run(...)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> outputPath:string -> targets:string -> properties:(string * string) list -> projects:seq<string> -> string list

Builds the given project files or solution files and collects the output files.

Parameters

  • setParams - A function that overwrites the default MSBuildParams
  • outputPath - If it is null or empty then the project settings are used.
  • targets - A string with the target names which should be run by MSBuild.
  • properties - A list with tuples of property name and property values.
  • projects - A list of project or solution files.
MSBuild.runDebug(...)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> outputPath:string -> targets:string -> projects:seq<string> -> string list

Builds the given project files or solution files and collects the output files.

Parameters

  • setParams - A function that overwrites the default MSBuildParams
  • outputPath - If it is null or empty then the project settings are used.
  • targets - A string with the target names which should be run by MSBuild.
  • projects - A list of project or solution files.
MSBuild.runRelease(...)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> outputPath:string -> targets:string -> projects:seq<string> -> string list

Builds the given project files or solution files and collects the output files.

Parameters

  • setParams - A function that overwrites the default MSBuildParams
  • outputPath - If it is null or empty then the project settings are used.
  • targets - A string with the target names which should be run by MSBuild.
  • projects - A list of project or solution files.
MSBuild.runReleaseExt(...)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> outputPath:string -> properties:(string * string) list -> targets:string -> projects:seq<string> -> string list

Builds the given project files or solution files in release mode and collects the output files.

Parameters

  • setParams - A function that overwrites the default MSBuildParams
  • outputPath - If it is null or empty then the project settings are used.
  • properties - A list with tuples of property name and property values.
  • targets - A string with the target names which should be run by MSBuild.
  • projects - A list of project or solution files.
MSBuild.runWithDefaults targets projects
Signature: targets:string -> projects:seq<string> -> string list

Builds the given project files or solution files in release mode to the default outputs.

Parameters

  • targets - A string with the target names which should be run by MSBuild.
  • projects - A list of project or solution files.
MSBuild.runWithProperties(...)
Signature: setParams:(MSBuildParams -> MSBuildParams) -> outputPath:string -> targets:string -> properties:(string -> (string * string) list) -> projects:seq<string> -> string list

Builds the given project files and collects the output files.

Parameters

  • setParams - A function that overwrites the default MSBuildParams
  • outputPath - If it is null or empty then the project settings are used.
  • targets - A string with the target names which should be run by MSBuild.
  • properties - A list with tuples of property name and property values.
  • projects - A list of project or solution files.
MSBuild.unescapeMSBuildSpecialChars(s)
Signature: s:string -> string
MSBuild.versionToUseBinLog
Signature: Version
MSBuild.versionToUseStructuredLogger
Signature: Version
MSBuild.withCliArguments oldObj x
Signature: oldObj:MSBuildParams -> x:CliArguments -> MSBuildParams

Type extensions

Type extensionDescription
x.CliArguments
Signature: CliArguments
x.CliArguments
Signature: CliArguments
x.WithCliArguments(x)
Signature: x:CliArguments -> MSBuildParams