ESYL.TreeProblemFramework 2.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package ESYL.TreeProblemFramework --version 2.1.0                
NuGet\Install-Package ESYL.TreeProblemFramework -Version 2.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ESYL.TreeProblemFramework" Version="2.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ESYL.TreeProblemFramework --version 2.1.0                
#r "nuget: ESYL.TreeProblemFramework, 2.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ESYL.TreeProblemFramework as a Cake Addin
#addin nuget:?package=ESYL.TreeProblemFramework&version=2.1.0

// Install ESYL.TreeProblemFramework as a Cake Tool
#tool nuget:?package=ESYL.TreeProblemFramework&version=2.1.0                



TreeProblemFramework is a .NET Core library to solve problems/games whose solution is based on a tree search. Its input should consist of a definition for the problem/game, including the corresponding rules, a description of the solution and an initial state. Moreover and optionally, an heuristic might also be given as part of the input. After processing, the library outputs the steps that reach the solution while satisfying the rules.

Use case

The library might be used to solve problems/games such as:

  1. N-Puzzle
  2. Unblock Me
  3. Sokoban
  4. Maze solving
  5. Rubik's Cube
  6. many more...
  7. ...and any other problem whose solution gets smartly described in terms of a tree search.


Usage of the library is governed by the MIT License, therefore, in case of any full or partial usage, do clearly link to the repository as following:

@software {yepezTPF,
    author = {Yépez, Edgar},
    title = {TreeProblemFramework},
    url = {},
    year = {2020}

In case of having any comments, suggestions or finding issues, send an e-mail to

Copyright 2020 ESYL.


For instructions on how to get started, visit the usage guide. Additionally, implementations for a solution to several problems/games shall be found in the Examples folder.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.1.4 887 2/14/2022
2.1.3 731 9/8/2021
2.1.2 831 10/30/2020
2.1.1 855 9/20/2020
2.1.0 957 7/11/2020
1.1.0 928 6/14/2020
1.0.2 914 1/10/2020
1.0.1 884 1/5/2020
1.0.0 900 1/4/2020