PackageSession Class
Namespace: Stride.Core.AssetsAssembly: Stride.Core.Assets.dll
A session for editing a package.
public sealed class PackageSession : IDisposable, IAssetFinder
| Name | Description | |
|---|---|---|
| Constructors | ||
| PackageSession() | Initializes a new instance of the PackageSession class. |
|
| PackageSession(Package) | Initializes a new instance of the PackageSession class. |
|
| Fields | ||
| DefaultVisualStudioVersion | The visual studio version property used for newly created project solution files |
|
| Properties | ||
| AssemblyContainer | ||
| CurrentProject | Gets or sets the selected current package. |
|
| DependencyManager | Gets the dependency manager. |
|
| HasDependencyManager | Gets a value indicating whether this instance has dependency manager. |
|
| IsDirty | ||
| LocalPackages | Gets the user packages (excluding system packages). |
|
| Packages | Gets the packages referenced by the solution. |
|
| Projects | The projects referenced by the solution. |
|
| SaveCompletion | Gets a task that completes when the session is finished saving. |
|
| SolutionPath | Gets or sets the solution path (sln) in case the session was loaded from a solution. |
|
| SourceTracker | ||
| VisualStudioVersion | The targeted visual studio version (if specified by the loaded package) |
|
| Methods | ||
| AddExistingPackage(Package, ILogger) | Adds an existing package to the current session and runs the package analysis before adding it. |
|
| AddExistingProject(UFile, ILogger, PackageLoadParameters) | Adds an existing package to the current session. |
|
| Dispose() | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
|
| FindAsset(AssetId) | Finds an asset by its identifier. |
|
| FindAsset(UFile) | Finds an asset by its location. |
|
| FindAssetFromProxyObject(Object) | Finds an asset from a proxy object. |
|
| GetPackagesFromCurrent() | Gets the packages referenced by the current package. |
|
| Load(String, PackageLoadParameters) | Loads a package from specified file path. |
|
| Load(String, PackageSessionResult, PackageLoadParameters) | Loads a package from specified file path. |
|
| LoadMissingAssets(ILogger, IEnumerable<Package>, PackageLoadParameters) | Make sure packages have their assets loaded. |
|
| LoadMissingDependencies(ILogger, PackageLoadParameters) | Make sure packages have their dependencies loaded. |
|
| LoadMissingReferences(ILogger, PackageLoadParameters) | Make sure packages have their dependencies and assets loaded. |
|
| Save(ILogger, PackageSaveParameters) | Saves all packages and assets. |
|
| UpdateAssemblyReferences(LoggerResult) | Loads the assembly references that were not loaded before. |
|
| UpdateDependencies(SolutionProject, Boolean, Boolean) | ||
| Events | ||
| AssetDirtyChanged | ||
Constructors
PackageSession()
Initializes a new instance of the PackageSession class.
public PackageSession()
PackageSession(Package)
Initializes a new instance of the PackageSession class.
public PackageSession(Package package)
Parameters
| Type | Name | Description |
|---|---|---|
| Package | package |
Fields
DefaultVisualStudioVersion
The visual studio version property used for newly created project solution files
public static readonly Version DefaultVisualStudioVersion
Field Value
| Type | Description |
|---|---|
| System.Version |
Properties
AssemblyContainer
public AssemblyContainer AssemblyContainer { get; }
Property Value
| Type | Description |
|---|---|
| Stride.Core.Reflection.AssemblyContainer |
CurrentProject
Gets or sets the selected current package.
public SolutionProject CurrentProject { get; set; }
Property Value
| Type | Description |
|---|---|
| SolutionProject | The selected current package. |
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Expecting a package that is already registered in this session |
DependencyManager
Gets the dependency manager.
public AssetDependencyManager DependencyManager { get; }
Property Value
| Type | Description |
|---|---|
| AssetDependencyManager | AssetDependencyManager. |
HasDependencyManager
Gets a value indicating whether this instance has dependency manager.
public bool HasDependencyManager { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsDirty
public bool IsDirty { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
LocalPackages
Gets the user packages (excluding system packages).
public IEnumerable<Package> LocalPackages { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<Package> | The user packages. |
Packages
Gets the packages referenced by the solution.
public IReadOnlyPackageCollection Packages { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyPackageCollection | The packages. |
Projects
The projects referenced by the solution.
public ProjectCollection Projects { get; }
Property Value
| Type | Description |
|---|---|
| ProjectCollection |
SaveCompletion
Gets a task that completes when the session is finished saving.
public Task SaveCompletion { get; }
Property Value
| Type | Description |
|---|---|
| System.Threading.Tasks.Task |
SolutionPath
Gets or sets the solution path (sln) in case the session was loaded from a solution.
public UFile SolutionPath { get; set; }
Property Value
| Type | Description |
|---|---|
| Stride.Core.IO.UFile | The solution path. |
SourceTracker
public AssetSourceTracker SourceTracker { get; }
Property Value
| Type | Description |
|---|---|
| AssetSourceTracker |
VisualStudioVersion
The targeted visual studio version (if specified by the loaded package)
public Version VisualStudioVersion { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Version |
Methods
AddExistingPackage(Package, ILogger)
Adds an existing package to the current session and runs the package analysis before adding it.
public void AddExistingPackage(Package package, ILogger logger)
Parameters
| Type | Name | Description |
|---|---|---|
| Package | package | The package to add |
| ILogger | logger | The logger |
AddExistingProject(UFile, ILogger, PackageLoadParameters)
Adds an existing package to the current session.
public PackageContainer AddExistingProject(UFile projectPath, ILogger logger, PackageLoadParameters loadParametersArg = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Stride.Core.IO.UFile | projectPath | The project or package path. |
| ILogger | logger | The session result. |
| PackageLoadParameters | loadParametersArg | The load parameters argument. |
Returns
| Type | Description |
|---|---|
| PackageContainer |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | packagePath |
| System.ArgumentException | Invalid relative path. Expecting an absolute package path;packagePath |
| System.IO.FileNotFoundException | Unable to find package |
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
FindAsset(AssetId)
Finds an asset by its identifier.
public AssetItem FindAsset(AssetId assetId)
Parameters
| Type | Name | Description |
|---|---|---|
| AssetId | assetId | The identifier of the asset. |
Returns
| Type | Description |
|---|---|
| AssetItem | The corresponding AssetItem if found; otherwise, |
Remarks
Looks for the asset amongst all the packages of this session.
FindAsset(UFile)
Finds an asset by its location.
public AssetItem FindAsset(UFile location)
Parameters
| Type | Name | Description |
|---|---|---|
| Stride.Core.IO.UFile | location | The location of the asset. |
Returns
| Type | Description |
|---|---|
| AssetItem | The corresponding AssetItem if found; otherwise, |
Remarks
Looks for the asset amongst all the packages of this session.
FindAssetFromProxyObject(Object)
Finds an asset from a proxy object.
public AssetItem FindAssetFromProxyObject(object proxyObject)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | proxyObject | The proxy object which is represent the targeted asset. |
Returns
| Type | Description |
|---|---|
| AssetItem | The corresponding AssetItem if found; otherwise, |
Remarks
Looks for the asset amongst all the packages of this session.
GetPackagesFromCurrent()
Gets the packages referenced by the current package.
public IEnumerable<Package> GetPackagesFromCurrent()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<Package> | IEnumerable<Package>. |
Load(String, PackageLoadParameters)
Loads a package from specified file path.
public static PackageSessionResult Load(string filePath, PackageLoadParameters loadParameters = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | filePath | The file path to a package file. |
| PackageLoadParameters | loadParameters | The load parameters. |
Returns
| Type | Description |
|---|---|
| PackageSessionResult | A package. |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | filePath |
Load(String, PackageSessionResult, PackageLoadParameters)
Loads a package from specified file path.
public static void Load(string filePath, PackageSessionResult sessionResult, PackageLoadParameters loadParameters = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | filePath | The file path to a package file. |
| PackageSessionResult | sessionResult | The session result. |
| PackageLoadParameters | loadParameters | The load parameters. |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException | filePath |
| System.ArgumentException | File [{0}] must exist.ToFormat(filePath);filePath |
LoadMissingAssets(ILogger, IEnumerable<Package>, PackageLoadParameters)
Make sure packages have their assets loaded.
public void LoadMissingAssets(ILogger log, IEnumerable<Package> packages, PackageLoadParameters loadParametersArg = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ILogger | log | The log. |
| System.Collections.Generic.IEnumerable<Package> | packages | The packages to try to load missing assets from. |
| PackageLoadParameters | loadParametersArg | The load parameters argument. |
LoadMissingDependencies(ILogger, PackageLoadParameters)
Make sure packages have their dependencies loaded.
public void LoadMissingDependencies(ILogger log, PackageLoadParameters loadParametersArg = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ILogger | log | The log. |
| PackageLoadParameters | loadParametersArg | The load parameters argument. |
LoadMissingReferences(ILogger, PackageLoadParameters)
Make sure packages have their dependencies and assets loaded.
public void LoadMissingReferences(ILogger log, PackageLoadParameters loadParameters = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ILogger | log | The log. |
| PackageLoadParameters | loadParameters | The load parameters. |
Save(ILogger, PackageSaveParameters)
Saves all packages and assets.
public void Save(ILogger log, PackageSaveParameters saveParameters = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ILogger | log | The LoggerResult in which to report result. |
| PackageSaveParameters | saveParameters | The parameters for the save operation. |
UpdateAssemblyReferences(LoggerResult)
Loads the assembly references that were not loaded before.
public void UpdateAssemblyReferences(LoggerResult log)
Parameters
| Type | Name | Description |
|---|---|---|
| LoggerResult | log | The log. |
UpdateDependencies(SolutionProject, Boolean, Boolean)
public static void UpdateDependencies(SolutionProject project, bool directDependencies, bool flattenedDependencies)
Parameters
| Type | Name | Description |
|---|---|---|
| SolutionProject | project | |
| System.Boolean | directDependencies | |
| System.Boolean | flattenedDependencies |
Events
AssetDirtyChanged
public event DirtyFlagChangedDelegate<AssetItem> AssetDirtyChanged
Event Type
| Type | Description |
|---|---|
| DirtyFlagChangedDelegate<AssetItem> |