Note: This API documentation is for FAKE version 4. The migration API documentation can be found here. The API documentation for the new fake 5 modules can be found here

ProjectSystem

Contains project file comparison tools for MSBuild project files.

Nested types and modules

TypeDescription
ProjectComparison

Result type for project comparisons.

ProjectFile

A small abstraction over MSBuild project files.

Functions and values

Function or valueDescription
CompareProjectsTo(...)
Signature: templateProject:string -> projects:seq<string> -> unit

Compares the given project files against the template project and fails if any files are missing. For F# projects it is also reporting unordered files.

findMissingContentFiles(...)
Signature: templateProject:string -> projects:seq<string> -> seq<ProjectComparison>

Compares the given project files against the template project and returns which files are missing. For F# projects it is also reporting unordered files.

findMissingFiles(...)
Signature: templateProject:string -> projects:seq<string> -> seq<ProjectComparison>

Compares the given project files against the template project and returns which files are missing. For F# projects it is also reporting unordered files.

FixMissingContentFiles(...)
Signature: templateProject:string -> projects:seq<string> -> unit

Compares the given projects to the template project and adds all missing files to the projects if needed.

FixMissingFiles templateProject projects
Signature: templateProject:string -> projects:seq<string> -> unit

Compares the given projects to the template project and adds all missing files to the projects if needed.

FixProjectContentFiles(...)
Signature: templateProject:string -> projects:seq<string> -> unit

Compares the given projects to the template project and adds all missing content files to the projects if needed. It also removes duplicate files from the project files.

FixProjectFiles templateProject projects
Signature: templateProject:string -> projects:seq<string> -> unit

Compares the given projects to the template project and adds all missing files to the projects if needed. It also removes duplicate files from the project files.

removeCompileNodesWithMissingFiles(...)
Signature: includeExistsF:(string -> bool) -> project:ProjectFile -> ProjectFile
RemoveCompileNodesWithMissingFiles(...)
Signature: project:string -> unit

Removes projects Compile nodes that have Include attributes pointing to files missing from the file system. Saves updated projects.

removeContentNodesWithMissingFiles(...)
Signature: includeExistsF:(string -> bool) -> project:ProjectFile -> ProjectFile
RemoveContentNodesWithMissingFiles(...)
Signature: project:string -> unit

Removes projects Content nodes that have Include attributes pointing to files missing from the file system. Saves updated projects.

RemoveDuplicateContentFiles(projects)
Signature: projects:seq<string> -> unit

It removes duplicate content files from the project files.

RemoveDuplicateFiles(projects)
Signature: projects:seq<string> -> unit

It removes duplicate files from the project files.