Open sandboxFocus

Class WorkspaceCollection

Represents a set of workspaces. Two attempts to load a workspace with the same parameters, in the same WorkspaceCollection, will return the exact same instance, unless the Reset() method is called.

Inheritance
WorkspaceCollection
Namespace: Metalama.Framework.Workspaces
Assembly: Metalama.Framework.Workspaces.dll
Syntax
public sealed class WorkspaceCollection

Constructors

Name Description
WorkspaceCollection(GlobalServiceProvider?)

Initializes a new instance of the WorkspaceCollection class.

Properties

Name Description
Default

Gets the default instance of the WorkspaceCollection class. This is a singleton instance constructed without specifying a service provider.

IgnoreLoadErrors
ServiceBuilder

Methods

Name Description
Load(params string[])

Loads a set of projects of solutions into a Workspace, or returns an existing workspace if the method has been previously called with the exact same parameters.

LoadAsync(ImmutableArray<string>, ImmutableDictionary<string, string>?, bool, CancellationToken)

Asynchronously loads a set of projects of solutions into a Workspace, or returns an existing workspace if the method has been previously called with the exact same parameters. This overload allows to specify MSBuild properties.

LoadAsync(params string[])

Asynchronously loads a set of projects of solutions into a Workspace, or returns an existing workspace if the method has been previously called with the exact same parameters.

Reset()

Removes all cached workspaces, but not the set of registered services.

TryFindProject(Compilation, out Workspace?, out Project?, out bool)

Finds the Workspace and Project that defines a given Roslyn Compilation in the current WorkspaceCollection.