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

FAKE - F# Make

Fake Namespace

TypeDescription
Checksum
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Allow to calculate checksum

ChecksumHashAlgorithm
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

ModuleDescription
FluentMigratorHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains functions to run FluentMigrator

Gallio
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

AdditionalSyntax
OBSOLETE

Use Fake.Core.Target instead (FAKE0001 - package: Fake.Core.Target

Provides functions and operators to deal with FAKE targets and target dependencies.

AndroidPublisher
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

AppVeyor
OBSOLETE

please use nuget 'Fake.BuildServer.AppVeyor', open Fake.BuildServer and use AppVeyor instead

Contains code to configure FAKE for AppVeyor integration

Appcast
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains code to configure FAKE for Appcast handling

ArchiveHelper
OBSOLETE

Please use Fake.IO.Zip instead and extend it via Pull Request if required

Provides utility tasks for storing and compressing files in archives.

AssemblyInfoFile
OBSOLETE

FAKE0001 Use Fake.DotNet.AssemblyInfoFile instead

Contains tasks to generate AssemblyInfo files for C# and F#. There is also a tutorial about the AssemblyInfo tasks available.

AssemblyInfoHelper
OBSOLETE

Use Fake.DotNet.AssemblyInfoFile instead

Generates an AssemblyInfo file

AzureHelper
OBSOLETE

Please use one of the Fake 5 Fake.Azure.* modules

Contains tasks to control the local Azure Emulator

BitbucketPipelines
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains code to configure FAKE for Bitbucket Pipelines integration

Boot
OBSOLETE

Fake.Boot is no longer supported

Implements support for boostrapping FAKE scripts. A bootstrapping build.fsx script executes twice (in two stages), allowing to download dependencies with NuGet and do other preparatory work in the first stage, and have these dependencies available in the second stage.

BowerHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains function to run bower tasks

BuildServerHelper
OBSOLETE

Use Fake.Core.Environment instead (FAKE0001 - package: Fake.Core.Environment)

Contains functions which allow build scripts to interact with a build server.

CacheHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains functions which allows to deal with a cache.

ChangeLogHelper
OBSOLETE

Open Fake.Core instead (FAKE0001 - package: Fake.Core.ReleaseNotes, module: Changelog)

Contains helpers which allow to parse Change log text files. These files have to be in a format as described on http://keepachangelog.com/en/0.3.0/

ChangeWatcher
OBSOLETE

Open Fake.IO instead (FAKE0001 - package: Fake.IO.FileSystem, module: ChangeWatcher)

This module contains helpers to react to file system events.

Choco
OBSOLETE

Use Fake.Windows.Choco instead

Contains tasks which allow to call Chocolatey

ConfigurationHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains functions which allow to read and write config files.

CscHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks to compile C# source files with CSC.EXE (C# Compiler).

DocFxHelper
OBSOLETE

FAKE0001 Use the Fake.Documentation.DocFx module instead

Contains helper functions to run the documentation tool "docfx".

DocuHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains helper functions to run the XML documentation tool "docu".

DotCover
OBSOLETE

FAKE0001 Use the Fake.DotNet.Testing.DotCover module instead

Contains a task which can be used to run DotCover on .NET assemblies.

DotNetCli
OBSOLETE

Please add 'open Fake.DotNet' and use 'DotNet.*' instead, see https://fake.build/dotnet-dotnet.html for an example (the fake 5 module is called Fake.DotNet.Cli)

Contains a task which can be used to run dotnet CLI commands.

DynamicsCRMHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains various functions for interacting with Dynamics CRM. So far there is support for exporting and importing solutions, zipping and unzipping using the Solution Packager, as well as publishing customizations.

DynamicsNav
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains helper function which allow to interact with Microsoft Dynamics NAV.

DynamicsNavFile
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Provides an abstraction over Dynamics NAV object files.

EnvironmentHelper
OBSOLETE

Use Fake.Core.Environment instead (FAKE0001 - package: Fake.Core.Environment)

This module contains functions which allow to read and write environment variables and build parameters

FSIHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains helper functions which allow to interact with the F# Interactive.

FSharpFormatting
OBSOLETE

use Fake.DotNet.FSFormatting instead

Contains tasks which allow to run FSharp.Formatting for generating documentation.

FileHelper
OBSOLETE

Use Fake.IO instead (FAKE0001 - package: Fake.IO.FileSystem)

Contains helper function which allow to deal with files and directories.

FileSystem
OBSOLETE

Please use nuget 'Fake.IO.FileSystem' and Fake.IO.Globbing.Operators instead

This module contains a file pattern globbing implementation.

FileSystemHelper
OBSOLETE

Use Fake.IO instead (FAKE0001 - package: Fake.IO.FileSystem)

Contains helpers which allow to interact with the file system.

FileUtils
OBSOLETE

FAKE0001 Use `open Fake.IO` and `FileSystem.Shell`

Shell-like functions. Similar to Ruby's FileUtils.

FixieHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks to run Fixie unit tests.

FscHelper
OBSOLETE

Use Fake.DotNet.Fsc instead (FAKE0001 - package: Fake.DotNet.Fsc - module: Fake.DotNet.Fsc)

Contains tasks to compiles F# source file with the FSharp.Compiler.Service. There is also a tutorial about the F# compiler tasks available.

FtpHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains helpers which allow to upload a whole folder/specific file into a FTP Server. Uses Passive Mode FTP and handles all files as binary (and not ASCII). Assumes direct network connectivity to destination FTP server (not via a proxy). Does not support FTPS and SFTP.

FuchuHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

FxCopHelper
OBSOLETE

Please use nuget 'Fake.DotNet.FxCop', open 'Fake.DotNet' and use module FxCop instead.

Contains a task which can be used to run FxCop on .NET assemblies. There is also a tutorial for this task available.

GACHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

This module contains helper function for the GAC

GitVersionHelper
OBSOLETE

FAKE0001 Use the Fake.Tools.GitVersion module instead

Containts helper function for GitVersion - a tool to help you achieve Semantic Versioning on your project.

To install GitVersion.exe on Windows, start PowerShell as Administrator and run choco install gitversion.portable -s https://chocolatey.org/api/v2" For Mac and Unix, install the NuGet version.

Globbing
OBSOLETE

Please use Fake.IO.Globbing.Glob instead

This module contains a file pattern globbing implementation.

HTMLHelpWorkShopHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task which allows to use HTML Help Workshop in order to compile a help project.

HipChatNotificationHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task to send notification messages to a HipChat room

HockeyAppHelper
OBSOLETE

Use Fake.Api.HockeyApp instead (open Fake.Api and use 'HockeyApp.')

Contains tasks to interact with HockeyApp

ILMergeHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains task a task which allows to merge .NET assemblies with ILMerge.

MSBuildHelper
OBSOLETE

Use Fake.DotNet.MSBuild instead

Contains tasks which allow to use MSBuild (or xBuild on Linux/Unix) to build .NET project files or solution files.

MSIHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks which allow to run msiexec in order to install or uninstall msi files.

MSTest

Contains tasks to run MSTest unit tests.

MSpecHelper
OBSOLETE

use Fake.DotNet.Testing.MSpec instead

Contains a task to run machine.specifications tests.

MageHelper
OBSOLETE

Open Fake.DotNet instead (FAKE0001 - package: Fake.DotNet.Mage, module: Mage)

Contains helper functions which allow FAKE to call the Manifest Generation and Editing Tool, in short 'MAGE'. The intentional use is the creation of a clickonce application.

MessageHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains helper function which allow FAKE to interact with other applications via message files.

MsBuildLogger

Contains Logger implementations for MsBuild.

NCoverHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task which can be used to run NCover on .NET assemblies.

NDepend
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task which allows to run NDepend on .NET project files.

NGenHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

This module contains helper function for the ngen.exe

NUnitCommon
OBSOLETE

use Fake.DotNet.Testing.NUnit instead

Contains types and utility functions relaited to running NUnit unit tests.

NUnitParallel
OBSOLETE

use Fake.DotNet.Testing.NUnit instead

Contains tasks to run NUnit unit tests in parallel.

NUnitSequential
OBSOLETE

use Fake.DotNet.Testing.NUnit instead

Contains tasks to run NUnit unit tests.

NUnitXml
OBSOLETE

use Fake.DotNet.Testing.NUnit instead

Contains types and functions for working with NUnit unit tests result xml.

NpmHelper
OBSOLETE

FAKE0001 Use the Fake.JavaScript.Npm module instead

Contains function to run npm tasks

NuGetHelper
OBSOLETE

Use Fake.DotNet.NuGet.NuGet instead

Contains helper functions and task which allow to inspect, create and publish NuGet packages. There is also a tutorial about nuget package creating available.

NuGetVersion
OBSOLETE

Use Fake.DotNet.NuGet.Version instead

OctoTools
OBSOLETE

FAKE0001 Use the Fake.Tools.Octo module instead

Contains tasks which can be used for automated deployment via Octopus Deploy. There is also a tutorial about the Octopus deployment helper available.

Office365ConnectorHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task to send notification messages to a Office 356 Connector webhook

OpenCoverHelper
OBSOLETE

Use Fake.DotNet.Testing.OpenCover instead (open Fake.Testing and use 'OpenCover.')

Contains a task which can be used to run OpenCover on .NET assemblies.

Paket
OBSOLETE

use Fake.DotNet.Paket instead

Contains helper functions and task which allow to inspect, create and publish NuGet packages with Paket.

PaketTemplate
OBSOLETE

use Fake.DotNet.PaketTemplate instead

Contains helper functions and task which allow it to generate a paket.template file for Paket

PermissionsHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains functions which allow to deal with permissions.

PicklesHelper
OBSOLETE

Open Fake.Tools instead (FAKE0001 - package: Fake.Tools.Pickles, module: Pickles)

Contains tasks to run the Pickles living documentation generator

ProcessHelper
OBSOLETE

FAKE0001 Use the Fake.Core.Process module instead

Contains functions which can be used to start other tools.

ProcessTestRunner
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Allows to execute processes as unit tests.

Profile
PsExecHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains functions for working with Sysinternals PsExec

REST
OBSOLETE

FAKE0001 Use the Fake.Net.Http module instead

Contains functions to execute typical HTTP/REST calls.

RaygunHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Enables deployment tracking using Raygun.io

Thin wrapper around the Raygun HTTP deployment API

RegAsmHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task which can be used to run regasm .NET assembly

RegistryHelper
OBSOLETE

Use Fake.Windows.Registry instead (FAKE0001 - package: Fake.Windows.Registry - module: Fake.Windows.Registry)

Contains functions which allow to read and write information from/to the registry.

ReleaseNotesHelper
OBSOLETE

FAKE0001 Use the Fake.Core.ReleaseNotes module instead

Contains helpers which allow to parse Release Notes text files. Either "simple" or "complex" format is accepted.

ReportGeneratorHelper
OBSOLETE

Open Fake.Testing instead (FAKE0001 - package: Fake.Testing.ReportGenerator, module: ReportGenerator)

Contains a task which can be used to run ReportGenerator, which converts XML reports generated by PartCover, OpenCover or NCover into a readable report in various formats.

RestorePackageHelper
OBSOLETE

Use Fake.DotNet.NuGet.Restore instead

Contains tasks which allow to restore NuGet packages from a NuGet package feed like nuget.org. There is also a tutorial about nuget package restore available.

RoboCopyHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task to use robocopy on Windows.

RoundhouseHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks to run RoundhousE database migrations.

SCPHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Conatins a task which allows to perform file copies using SCP, which is based on the Secure Shell (SSH) protocol.

SSHHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Conatins a task which allows to perform SSH operations

SemVerHelper
OBSOLETE

FAKE0001 Use the Fake.Core.SemVer module instead

Contains helpers which allow to deal with Semantic Versioning (SemVer).

ServiceControllerHelpers
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks which allow to control NT services.

SignToolHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task to sign assemblies using the SignTool.

SlackNotificationHelper
OBSOLETE

Use Fake.Api.Slack instead

Contains a task to send notification messages to a Slack webhook

SonarQubeHelper
OBSOLETE

Use Fake.Testing.SonarQube instead (open Fake.Testing and use 'SonarQube.')

Contains a task to run the msbuild runner of Sonar Qube analyzer.

SpecFlowHelper
OBSOLETE

Open Fake.DotNet.Testing instead (FAKE0001 - package: Fake.DotNet.Testing.SpecFlow, module: SpecFlow)

Contains a task which allows to run SpecFlow tests.

Squirrel
OBSOLETE

FAKE0001 Use the Fake.Installer.Squirrel module instead

Contains types and utility functions related to creating Squirrel installer.

StringHelper
OBSOLETE

FAKE0001 use Fake.Core.String instead

Contains basic functions for string manipulation.

StrongNamingHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

This module contains helper function for Microsoft's sn.exe

StyleCopHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

SxsHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Module that enables creating and embedding Side-by-Side interop manifests for registration free deployment of Com-.net interop projects

TargetHelper
OBSOLETE

Use Fake.Core.Target instead (FAKE0001 - package: Fake.Core.Target - module: Fake.Core.Target)

Contains infrastructure code and helper functions for FAKE's target feature.

TaskRunnerHelper
OBSOLETE

Use Fake.Core.TaskRunner instead (open Fake.Core and use 'TaskRunner')

Contains a helper which can be used to implement timeouts and retries.

TeamCityHelper
OBSOLETE

please use nuget 'Fake.BuildServer.TeamCity', open Fake.BuildServer and use TeamCity instead

Contains helper functions which allow FAKE to communicate with a TeamCity agent

TeamCityRESTHelper
OBSOLETE

please check the Fake.BuildServer.TeamCity module for a replacement and send a PR to include this into FAKE 5 if needed.

Contains functions which allow FAKE to interact with the TeamCity REST API.

TemplateHelper
OBSOLETE

Use Fake.IO.Templates instead (FAKE0001 - package: Fake.IO.FileSystem - member: Fake.IO.Templates)

Contains basic templating functions. Used in other helpers.

TestFlightHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks to upload apps to TestFlight

TraceHelper
OBSOLETE

use nuget 'Fake.Core.Trace' instead (open Fake.Core and use 'Trace.')

This module contains function which allow to trace build output

TraceListener
OBSOLETE

please use nuget 'Fake.Core.Trace' and open Fake.Core instead

Defines default listeners for build output traces

TypeScript
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains code to call the typescript compiler. There is also a tutorial for this task available.

UnitTestCommon
OBSOLETE

use Fake.Testing.Common instead

This module contains types and functions that are common for unit test helpers.

UnitTestHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

This module contains functions which allow to report unit test results to build servers.

UserInputHelper
OBSOLETE

FAKE0001 Use the Fake.Core.UserInput module instead

This module contains functions which allow to interactively input values

Utils
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

VSSHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains helper functions for Microsoft Visual SourceSafe

VSTest
OBSOLETE

use Fake.DotNet.Testing.VSTest instead

Contains tasks to run VSTest unit tests.

Vb6Helper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Enables building of Visual Basic 6 projects Also includes a do-it-all function that will embed interop side-by-side manifest to executables from Vb6 using functions from the Side-by-side helper module

VersionHelper
OBSOLETE

Use Fake.Core.SemVer instead

WiXHelper
OBSOLETE

Use Fake.Installer.Wix instead (FAKE0001 - package: Fake.Installer.Wix - module: Fake.Installer.Wix)

Contains tasks to create msi installers using the WiX toolset

XCopyHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains a task to use XCOPY on Windows.

XDTHelper
OBSOLETE

Use Fake.Core.Xdt instead (open Fake.Core and use 'Xdt.<name>' instead of directly calling Xdt<name> - ie add a dot)

Contains functions used to transform config (or any XML) files using Microsoft's XML Document Transformations.

XMLHelper
OBSOLETE

Use Fake.Core.Xml instead (open Fake.Core and use 'Xml.<name>' instead of directly calling Xml<name> - ie add a dot)

Contains functions to read and write XML files.

XUnit2Helper
OBSOLETE

use Fake.DotNet.Testing.XUnit2 instead (yes please migrate to xunit2)

DEPRECATED. See Fake.Testing.XUnit2.

Contains tasks to run xUnit unit tests.

XUnitHelper
OBSOLETE

use Fake.DotNet.Testing.XUnit2 instead (yes please migrate to xunit2)

DEPRECATED. See Fake.Testing.XUnit.

Contains tasks to run xUnit unit tests.

XamarinHelper
OBSOLETE

Use Fake.DotNet.Xamarin

Contains tasks for building Xamarin.iOS and Xamarin.Android apps

XpkgHelper
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks to create packages in Xamarin's xpkg format

YarnHelper
OBSOLETE

FAKE0001 Use the Fake.JavaScript.Yarn module instead

Contains function to run yarn tasks

ZipHelper
OBSOLETE

Use Fake.IO.Zip instead

This module contains helper function to create and extract zip archives.

Fake.Api Namespace

ModuleDescription
GitHub

Contains tasks to interact with GitHub releases

Sample

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
   Target.create "GitHubRelease" (fun _ ->
       let token =
           match Environment.environVarOrDefault "github_token" "" with
           | s when not (System.String.IsNullOrWhiteSpace s) -> s
           | _ -> failwith "please set the github_token environment variable to a github personal access token with repro access."

       let files =
           runtimes @ [ "portable"; "packages" ]
           |> List.map (fun n -> sprintf "release/dotnetcore/Fake.netcore/fake-dotnetcore-%s.zip" n)

       GitHub.createClientWithToken token
       |> GitHub.draftNewRelease gitOwner gitName release.NugetVersion (release.SemVer.PreRelease <> None) release.Notes
       |> GitHub.uploadFiles files
       |> GitHub.publishDraft
       |> Async.RunSynchronously)
val not : value:bool -> bool
namespace System
Multiple items
type String =
  new : value:char[] -> string + 8 overloads
  member Chars : int -> char
  member Clone : unit -> obj
  member CompareTo : value:obj -> int + 1 overload
  member Contains : value:string -> bool + 3 overloads
  member CopyTo : sourceIndex:int * destination:char[] * destinationIndex:int * count:int -> unit
  member EndsWith : value:string -> bool + 3 overloads
  member EnumerateRunes : unit -> StringRuneEnumerator
  member Equals : obj:obj -> bool + 2 overloads
  member GetEnumerator : unit -> CharEnumerator
  ...

--------------------
System.String(value: char []) : System.String
System.String(value: nativeptr<char>) : System.String
System.String(value: nativeptr<sbyte>) : System.String
System.String(value: System.ReadOnlySpan<char>) : System.String
System.String(c: char, count: int) : System.String
System.String(value: char [], startIndex: int, length: int) : System.String
System.String(value: nativeptr<char>, startIndex: int, length: int) : System.String
System.String(value: nativeptr<sbyte>, startIndex: int, length: int) : System.String
System.String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: System.Text.Encoding) : System.String
System.String.IsNullOrWhiteSpace(value: string) : bool
val failwith : message:string -> 'T
Multiple items
module List

from Microsoft.FSharp.Collections

--------------------
type List<'T> =
  | ( [] )
  | ( :: ) of Head: 'T * Tail: 'T list
    interface IReadOnlyList<'T>
    interface IReadOnlyCollection<'T>
    interface IEnumerable
    interface IEnumerable<'T>
    member GetSlice : startIndex:int option * endIndex:int option -> 'T list
    member Head : 'T
    member IsEmpty : bool
    member Item : index:int -> 'T with get
    member Length : int
    member Tail : 'T list
    ...
val map : mapping:('T -> 'U) -> list:'T list -> 'U list
val sprintf : format:Printf.StringFormat<'T> -> 'T
union case Option.None: Option<'T>
Multiple items
type Async =
  static member AsBeginEnd : computation:('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit)
  static member AwaitEvent : event:IEvent<'Del,'T> * ?cancelAction:(unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate)
  static member AwaitIAsyncResult : iar:IAsyncResult * ?millisecondsTimeout:int -> Async<bool>
  static member AwaitTask : task:Task -> Async<unit>
  static member AwaitTask : task:Task<'T> -> Async<'T>
  static member AwaitWaitHandle : waitHandle:WaitHandle * ?millisecondsTimeout:int -> Async<bool>
  static member CancelDefaultToken : unit -> unit
  static member Catch : computation:Async<'T> -> Async<Choice<'T,exn>>
  static member Choice : computations:seq<Async<'T option>> -> Async<'T option>
  static member FromBeginEnd : beginAction:(AsyncCallback * obj -> IAsyncResult) * endAction:(IAsyncResult -> 'T) * ?cancelAction:(unit -> unit) -> Async<'T>
  ...

--------------------
type Async<'T> =
static member Async.RunSynchronously : computation:Async<'T> * ?timeout:int * ?cancellationToken:System.Threading.CancellationToken -> 'T
HockeyApp

Contains tasks to interact with HockeyApp

Slack

Contains a task to send notification messages to a Slack webhook

Fake.Azure Namespace

ModuleDescription
CloudServices

Contains tasks to package Azure Cloud Services.

Note: This documentation is for FAKE version 5.0 or later. The old documentation can be found here

Emulators

Contains tasks to control the local Azure Emulator

Kudu

Contains tasks to stage and deploy Azure website and webjobs using source code deployment with Kudu Sync.

WebJobs

Contains tasks to package and deploy Azure Web Jobs via the Kudu Zip controller

Note: This documentation is for FAKE version 5.0 or later. The old documentation can be found here

Fake.BuildServer Namespace

ModuleDescription
AppVeyor

native support for AppVeyor specific APIs. The general documentation on how to use CI server integration can be found here. This module does not provide any special APIs please use FAKE APIs and they should integrate into this CI server. If some integration is not working as expected or you have features you would like to use directly please open an issue.

AppVeyorImportExtensions
TeamCity

native support for TeamCity specific APIs. The general documentation on how to use CI server integration can be found here. This module does not provide any special APIs please use FAKE APIs and they should integrate into this CI server. If some integration is not working as expected or you have features you would like to use directly please open an issue.

For more information on TeamCity interaction from build scripts see here

TeamCityImportExtensions
TeamFoundation

native support for Azure DevOps (previously VSTS) / Team Foundation Server specific APIs. The general documentation on how to use CI server integration can be found here

Secret Variables

This CI server supports the concept of secret variables and uses the Vault to store them. In order to access secret variables you need to use one of the fake 5 tasks from vsts-fsharp.

Example implementation (supports runner and vault tasks)

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
   // Either use a local vault filled by the 'FAKE_VAULT_VARIABLES' environment variable
   // or fall back to the build process if none is given
   let vault =
       match Vault.fromFakeEnvironmentOrNone() with
       | Some v -> v // fake 5 vault task, uses 'FAKE_VAULT_VARIABLES' by default
       | None -> TeamFoundation.variables // fake 5 runner task

   // Only needed if you want to fallback to 'normal' environment variables (locally for example)
   let getVarOrDefault name =
       match vault.TryGet name with
       | Some v -> v
       | None -> Environment.environVarOrFail name
   Target.create "Deploy" (fun _ ->
       let token = getVarOrDefault "github_token"
       // Use token to deploy to github

       let apiKey = getVarOrDefault "nugetkey"
       // Use apiKey to deploy to nuget
       ()
   )
val vault : obj
union case Option.Some: Value: 'T -> Option<'T>
val v : obj
union case Option.None: Option<'T>
val getVarOrDefault : name:'a -> 'b
val name : 'a
val v : 'b
Travis

native support for Travis specific APIs. The general documentation on how to use CI server integration can be found here. This module does not provide any special APIs please use FAKE APIs and they should integrate into this CI server. If some integration is not working as expected or you have features you would like to use directly please open an issue.

Fake.CMakeSupport Namespace

TypeDescription
CMakeBuildParams
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

The CMakeBuild parameter type.

CMakeGenerateParams
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

The CMakeGenerate parameter type.

CMakeValue
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

The possible variable value types for CMake variables.

CMakeVariable
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

A CMake variable.

ModuleDescription
CMake
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks which allow to use CMake to build CMakeLists files. See Samples/CMakeSupport for usage examples.

Fake.Core Namespace

TypeDescription
Arguments

Represents a list of arguments

AsyncProcessResult<'a>
BuildFailedException

Exception for request errors

BuildServer

The server type option.

BuildServerInstaller
Command

The type of command to execute

ConsoleMessage

A record type which captures console messages

ConsoleTraceListener

Implements a TraceListener for System.Console.

CreateProcess<'TRes>

Handle for creating a process and returning potential results.

DataRef<'T>

Represents basically an "out" parameter, allows to retrieve a value after a certain point in time. Used to retrieve "pipes"

Docopt
DocoptException
DocoptMap
DocoptResult
DotNetCoverageTool

Note: Adding new cases to this type is not considered a breaking change! Please consider not using a match on this type in code external to the fake repository.

EnvMap
ExecParams

Parameter type for process execution.

FilePath
IMap<'TKey, 'TValue>
ITraceListener

Defines a TraceListener interface Note: Please contribute implementations to the fake repository, as external implementations are not supported.

ImportData

Note: Adding new cases to this type is not considered a breaking change! Please consider not using a match on this type in code external to the fake repository.

KnownTags

Note: Adding new cases to this type is not considered a breaking change! Please consider not using a match on this type in code external to the fake repository.

NunitDataVersion

Note: Adding new cases to this type is not considered a breaking change! Please consider not using a match on this type in code external to the fake repository.

PreRelease

Information about PreRelease packages.

PreReleaseSegment
ProcStartInfo
ProcessOutput

The output of the process. If ordering between stdout and stderr is important you need to use streams.

ProcessResult

A process result including error code, message log and errors.

ProcessResult<'a>
RawProcessResult
SemVerInfo

Contains the version information. For parsing use SemVer.parse

Note: If you use { version with Patch = myPath; Original = None } to overwrite some parts of this string make sure to overwrite Original to None in order to recalculate the version string. Note: For overwriting the PreRelease part use: { Version with Original = None; PreRelease = PreRelease.TryParse "alpha.1" }

Shell

Allows to exec shell operations synchronously and asynchronously.

StreamRef
StreamSpecification

Various options to redirect streams.

TagStatus

Note: Adding new cases to this type is not considered a breaking change! Please consider not using a match on this type in code external to the fake repository.

TargetContext
TargetParameter
TargetResult
TestStatus

Note: Adding new cases to this type is not considered a breaking change! Please consider not using a match on this type in code external to the fake repository.

TraceData

Defines Tracing information for TraceListeners Note: Adding new cases to this type is not considered a breaking change! Please consider not using a match on this type in code external to the fake repository.

TraceMode

The trace mode option.

TraceSecret
ModuleDescription
Args

Helper functions for proper command line parsing

Arguments

Module for working with an Arguments instance

BuildServer
Changelog

Contains helpers which allow to parse Change log text files. These files have to be in a format as described on http://keepachangelog.com/en/0.1.0/

ConsoleWriter
Context

This module tracks the context of the build. This allows us to run some modules without any context and change behavior depending on the context (For example Fake.Process kills all processes when the Fake Context exists, but it should not when used as library)

CoreTracing
CreateProcess

Module for creating and modifying CreateProcess<'TRes> instances. You can manage:

  • The command (ie file to execute and arguments)
  • The working directory
  • The process environment
  • Stream redirection and pipes
  • Timeout for the process to exit
  • The result and the result transformations (map, mapResult)

More extensions can be found in the CreateProcess Extensions

Example

1: 
2: 
3: 
4: 
Command.RawCommand("file", Arguments.OfArgs ["arg1"; "arg2"])
|> CreateProcess.fromCommand
|> Proc.run
|> ignore
val ignore : value:'T -> unit
CreateProcessExt

Some extensions for the CreateProcess module, opened automatically (use add open Fake.Core)

DocHelper
DocoptResult
EnvMap
Environment
FakeVar

This module contains helpers for managing build time variables

IMap
Mono
Proc

Module to start or run processes, used in combination with the CreateProcess API.

Example

1: 
2: 
3: 
4: 
5: 
6: 
#r "paket: 
nuget Fake.Core.Process //"
open Fake.Core
CreateProcess.fromRawCommand "./folder/mytool.exe" ["arg1"; "arg2"]
|> Proc.run
|> ignore
namespace Fake
namespace Fake.Core
Multiple items
module CreateProcess

from Fake.Core.CreateProcessExt

--------------------
module CreateProcess

from Fake.Core

--------------------
type CreateProcess<'TRes> =
  private { Command: Command
            TraceCommand: bool
            WorkingDirectory: string option
            Environment: EnvMap option
            Streams: StreamSpecs
            Hook: IProcessHook<'TRes> }
    member CommandLine : string
val fromRawCommand : command:FilePath -> args:seq<string> -> CreateProcess<ProcessResult<unit>>
module Proc

from Fake.Core
val run : c:CreateProcess<'a> -> 'a
val ignore : value:'T -> unit
ProcStartInfoExtensions
Process
ProcessUtils
ReleaseNotes

Contains helpers which allow to parse Release Notes text files. Either "simple" or "complex" format is accepted.

SemVer

Parser which allows to deal with Semantic Versioning (SemVer). Make sure to read the documentation in the SemVerInfo record as well if you manually create versions.

SemVerActivePattern

Contains active patterns which allow to deal with Semantic Versioning (SemVer).

StreamExtensions
String

Contains basic functions for string manipulation.

StringBuilder
Target
TargetOperators

Provides functions and operators to deal with FAKE targets and target dependencies.

TaskRunner

Contains a helper which can be used to implement timeouts and retries.

TestStatus
Trace

This module contains function which allow to trace build output

TraceData
TraceSecrets
UserInput

Helpers for capturing user input

Vault

Provices a encrypted store of variables to prevent accidential leakage Please read the documentation

VaultExt
Xml

Contains functions to read and write XML files.

Fake.Core.CommandLineParsing Namespace

TypeDescription
ArgumentParser<'TUserState, 'TResult>
ArgumentStream<'TUserState>
ArgumentStreamPosition
ArgumentStreamState<'TUserState>
IArgumentStream<'TUserState>
IArgumentStreamState<'TUserState>
OptionSection
OptionsParser
OptionsParserState
SafeOption
SafeOptions
Tag
UsageAst
UsageAstBuilder
UsageAstCell
UsageException
UsageParser
ModuleDescription
ArgParser
ArgumentArray
ArgumentStream

Fake.Documentation Namespace

ModuleDescription
DocFx

Contains helper functions to use DocFx https://dotnet.github.io/docfx/.

Fake.DotNet Namespace

TypeDescription
AssemblyInfoFileConfig

Represents options for configuring the emission of AssemblyInfo

BuildException
OBSOLETE

Using this is a BUG as this exception is no longer thrown! Use MSBuildException instead!

MSBuildDistributedLoggerConfig
MSBuildEntry
MSBuildException

An exception type to signal build errors.

MSBuildFileLoggerConfig

A type for MSBuild configuration

MSBuildLogParameter

MSBuild log option See https://docs.microsoft.com/de-de/visualstudio/msbuild/msbuild-command-line-reference?view=vs-2015

MSBuildLoggerConfig
MSBuildParams

A type for MSBuild task parameters

MSBuildProject

A type to represent MSBuild project files.

MSBuildVerbosity

MSBuild verbosity option

ModuleDescription
AssemblyInfo
AssemblyInfoFile
DotNet
FSFormatting

Contains tasks which allow to run FSharp.Formatting for generating documentation.

Fsc

Contains tasks to compiles F# source file with the FSharp.Compiler.Service.

Note: This documentation is for FAKE version 5.0 or later. The old documentation can be found here

Fsi
MSBuild
Paket

Contains helper functions and task which allow to inspect, create and publish NuGet packages with Paket.

PaketTemplate

Contains helper functions and task which allow it to generate a paket.template file for Paket

Xamarin

Contains tasks for building Xamarin.iOS and Xamarin.Android apps

Fake.DotNet.NuGet Namespace

ModuleDescription
Install

Contains tasks for installing NuGet packages using the nuget.exe install command.

NuGet

Contains helper functions and task which allow to inspect, create and publish NuGet packages. There is also a tutorial about nuget package creating available.

Restore

Contains tasks which allow to restore NuGet packages from a NuGet package feed like nuget.org. There is also a tutorial about nuget package restore available.

Update

Contains tasks for updating NuGet packages including assembly hint paths in the project files using the nuget.exe update command.

Version

Fake.DotNet.Testing Namespace

ModuleDescription
DotCover

Contains a task which can be used to run DotCover on .NET assemblies.

Expecto

Contains tasks to run Expecto unit tests.

MSTest

Contains tasks to run MSTest unit tests.

MSpec

Contains a task to run machine.specifications tests.

NUnit3

Contains tasks to run NUnit unit tests.

Sample

1: 
2: 
3: 
4: 
5: 
6: 
   Target.create "Test" (fun _ ->
       !! (testDir + "/NUnit.Test.*.dll")
         |> NUnit3.run (fun p ->
             {p with
                   ShadowCopy = false })
   )
OpenCover

Contains a task which can be used to run OpenCover on .NET assemblies.

XUnit2

Contains tasks to run xUnit v2 unit tests.

Fake.DotNet.Testing.NUnit Namespace

ModuleDescription
Common

Contains types and utility functions relaited to running NUnit unit tests.

Parallel

Contains tasks to run NUnit unit tests in parallel.

Sequential

Contains tasks to run NUnit unit tests.

Xml

Contains types and functions for working with NUnit unit tests result xml.

Fake.Git Namespace

ModuleDescription
Branches
OBSOLETE

Use Fake.Tools.Git.Branches instead

Contains helper functions which allow to deal with git branches.

CommandHelper
OBSOLETE

Use Fake.Tools.Git.CommandHelper instead

Contains helpers which allow to interact with git via the command line.

Commit
OBSOLETE

Use Fake.Tools.Git.Commit instead

Contains helper functions which allow to commit to git repositories.

CommitMessage
OBSOLETE

Use Fake.Tools.Git.CommitMessage instead

Contains helper functions which allow to get and set the git commit message.

FileStatus
OBSOLETE

Use Fake.Tools.Git.FileStatus instead

Contains helper functions which can be used to retrieve file status information from git.

Information
OBSOLETE

Use Fake.Tools.Git.Information instead

Contains helper functions which can be used to retrieve status information from git.

Merge
OBSOLETE

Use Fake.Tools.Git.Merge instead

Contains helper functions which allow to deal with git merge.

Rebase
OBSOLETE

Use Fake.Tools.Git.Rebase instead

Contains helper functions which allow to deal with git rebase.

Repository
OBSOLETE

Use Fake.Tools.Git.Repository instead

Contains functions which allow basic operations on git repositories. All operations assume that the CommandHelper can find git.exe.

Reset
OBSOLETE

Use Fake.Tools.Git.Reset instead

Contains helper functions which allow to deal with git reset.

SHA1
OBSOLETE

Use Fake.Tools.Git.Sha1 instead

Contains functions which allow the SHA1 of a file with git and without it.

SanityChecks
OBSOLETE

Use Fake.Tools.Git.SanityChecks instead

Contains helper function which can be used for sanity checks.

Staging
OBSOLETE

Use Fake.Tools.Git.Staging instead

Contains helper functions which allow to deal with git's staging area.

Stash
OBSOLETE

Use Fake.Tools.Git.Stash instead

Contains helper functions which allow to deal with git stash.

Submodule
OBSOLETE

Use Fake.Tools.Git.Submodule instead

Contains helper functions which allow to deal with git submodules.

Fake.IO Namespace

TypeDescription
FileChange
FileStatus
IGlobbingPattern
ModuleDescription
ChangeWatcher

This module is part of the Fake.IO.FileSystem package

Directory
DirectoryInfo
File
FileFilter
FileInfo
FileSystemInfo
FileSystemOperators
GlobbingPattern
GlobbingPatternExtensions
Path

Contains helper function which allow to deal with files and directories.

Shell
Templates

NOTE: Maybe this should be an extra module? Contains basic templating functions. Used in other helpers.

Zip

This module contains helper function to create and extract zip archives.

Fake.IO.Globbing Namespace

TypeDescription
FileIncludes
OBSOLETE

Please use IGlobbingPattern instead

LazyGlobbingPattern
ResolvedGlobbingPattern
ModuleDescription
FileIncludes
OBSOLETE

Please use GlobbingPattern instead

Glob

This module contains a file pattern globbing implementation. This module is part of the Fake.IO.FileSystem package

Operators

Contains operators to find and process files. This module is part of the Fake.IO.FileSystem package

Simple glob using as list

1: 
2: 
3: 
4: 
5: 
6: 
#r "paket: nuget Fake.IO.FileSystem //"
open Fake.IO.Globbing.Operators
let csProjectFiles = !! "src/*.csproj"

for projectFile in csProjectFiles do
    printf "F# ProjectFile: %s" projectFile

Combine globs

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
#r "paket: nuget Fake.IO.FileSystem //"
open Fake.IO.Globbing.Operators
let projectFiles =
    !! "src/*/*.*proj"
    ++ "src/*/*.target"
    -- "src/*/*.vbproj"

for projectFile in projectFiles do
    printf "ProjectFile: %s" projectFile

Forward globs to tasks

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
#r "paket:
nuget Fake.Core.Target
nuget Fake.IO.FileSystem //"
open Fake.Core
open Fake.IO
open Fake.IO.Globbing.Operators
Target.create "Clean" (fun _ ->
   !! "src/*/*/obj/**/*.nuspec"
   |> File.deleteAll
)
namespace Fake
namespace Fake.IO
namespace Fake.IO.Globbing
module Operators

from Fake.IO.Globbing
val csProjectFiles : Fake.IO.IGlobbingPattern
val projectFile : string
val printf : format:Printf.TextWriterFormat<'T> -> 'T
val projectFiles : Fake.IO.IGlobbingPattern
namespace Fake.Core
Multiple items
module Target

from Fake.Core

--------------------
type Target =
  { Name: string
    Dependencies: string list
    SoftDependencies: string list
    Description: TargetDescription option
    Function: TargetParameter -> unit }
    member DescriptionAsString : TargetDescription
val create : name:string -> body:(TargetParameter -> unit) -> unit
module File

from Fake.IO
val deleteAll : files:seq<string> -> unit
Tools

Fake.Installer Namespace

ModuleDescription
Wix

Contains tasks to create msi installers using the WiX toolset

Fake.JavaScript Namespace

ModuleDescription
Npm

Helpers to run the npm tool.

Yarn

Helpers for running the yarn tool

Fake.MSBuild Namespace

ModuleDescription
ProjectSystem
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains project file comparison tools for MSBuild project files.

SpecsRemovement
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains functions which allow to remove side-by-side specs during the build.

Fake.Net Namespace

ModuleDescription
Http

HTTP Client for downloading files

Fake.NuGet Namespace

ModuleDescription
Install
OBSOLETE

Use Fake.DotNet.NuGet.Install instead

Contains tasks for installing NuGet packages using the nuget.exe install command.

Update
OBSOLETE

Use Fake.DotNet.NuGet.Update instead

Contains tasks for updating NuGet packages including assembly hint paths in the project files using the nuget.exe update command.

Fake.Runtime Namespace

ModuleDescription
CompileRunner

Contains helper functions which allow to interact with the F# Interactive.

CoreCache

Contains helper functions which allow to interact with the F# Interactive.

Environment

This module contains functions which allow to read and write environment variables and build parameters

FSharpParser
FakeRuntime
LegacyApiHelper
Path

Contains basic functions for string manipulation.

Runners

Contains helper functions which allow to interact with the F# Interactive.

ScriptRunner

Contains helper functions which allow to interact with the F# Interactive.

String

Contains basic functions for string manipulation.

Trace

This module contains function which allow to trace build output

Fake.SQL Namespace

ModuleDescription
SqlServer
OBSOLETE

FAKE0001 Use the Fake.Sql module instead.

Fake.Sql Namespace

ModuleDescription
DacPac

Contains helpers around deploying databases.

Fake.Testing Namespace

ModuleDescription
Common
Expecto
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Contains tasks to run expecto v2 unit tests.

NUnit3
SonarQube

Contains a task to run the msbuild runner of SonarQube analyzer.

XUnit
OBSOLETE

use Fake.DotNet.Testing.XUnit2 instead (yes please migrate to xunit2)

Contains tasks to run xUnit v1 unit tests.

XUnit2
OBSOLETE

use Fake.DotNet.Testing.XUnit2 instead

Contains tasks to run xUnit v2 unit tests.

Fake.Tools Namespace

ModuleDescription
GitVersion
Octo

Fake.Tools.Git Namespace

ModuleDescription
Branches

Contains helper functions which allow to deal with git branches.

CommandHelper

Contains helpers which allow to interact with git via the command line.

Commit

Contains helper functions which allow to commit to git repositories.

CommitMessage

Contains helper functions which allow to get and set the git commit message.

FileStatus

Contains helper functions which can be used to retrieve file status information from git.

Information

Contains helper functions which can be used to retrieve status information from git.

Merge

Contains helper functions which allow to deal with git merge.

Rebase

Contains helper functions which allow to deal with git rebase.

Repository

Contains functions which allow basic operations on git repositories. All operations assume that the CommandHelper can find git.exe.

Reset

Contains helper functions which allow to deal with git reset.

SHA1

Contains functions which allow the SHA1 of a file with git and without it.

SanityChecks

Contains helper function which can be used for sanity checks.

Staging

Contains helper functions which allow to deal with git's staging area.

Stash

Contains helper functions which allow to deal with git stash.

Submodule

Contains helper functions which allow to deal with git submodules.

Fake.Tracing Namespace

ModuleDescription
NAntXml

This module contains function which allow to trace build output

Fake.Windows Namespace

ModuleDescription
Choco

Contains tasks which allow to call Chocolatey

Registry

Contains functions which allow to read and write information from/to the registry.

ServiceControl

Contains functions which can be used to start other tools.

Test.FAKECore Namespace

TypeDescription
FSharpFuncUtil
OBSOLETE

This API is obsolete. There is no alternative in FAKE 5 yet. You can help by porting this module.

Yaaf.FSharp.Scripting Namespace

TypeDescription
OutputData
ModuleDescription
Log