Solves requirements by selecting a specific combination of implementations from feeds.
Uses limited backtracking to solve Requirements. Does not find all possible solutions!
Wraps two solvers always passing requests to the primary one initially and falling back to secondary one should the primary one fail.
Provides extension methods for ISolver.
Common base class for representing a single run of a solver.
Helper functions for ISolver implementations.
Chooses a set of Implementations to satisfy the requirements of a program and its user.