IVsSolutionLoadManagerSupport.SetProjectLoadPriority(Guid, UInt32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Obsolete. This API became obsolete to optimize solution load performance.
public:
int SetProjectLoadPriority(Guid % refguidProject, System::UInt32 loadState);
public int SetProjectLoadPriority (ref Guid refguidProject, uint loadState);
abstract member SetProjectLoadPriority : Guid * uint32 -> int
Public Function SetProjectLoadPriority (ByRef refguidProject As Guid, loadState As UInteger) As Integer
Parameters
- refguidProject
- Guid
The GUID of the project
- loadState
- UInt32
Returns
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
There are four states for an unloaded project
PLP_DemandLoad: force the immediate load of the project during the Open Solution operation. If this value is set after the solution is opened, then this will force the load of the project on the very next idle point (or synchronously if IVsSolution4::EnsureXXXLoaded is also called).
PLP_BackgroundLoad: load in the background on idle.
PLP_LoadIfNeeded: load only if needed as a dependency of another loaded project, or if the user expands the project in the Solution Explorer.
PLP_ExplicitLoadOnly: keep unloaded even if needed as a dependency of another project. Explicit load only projects behave the same as projects unloaded by the user.
This project load priority setting is persisted during solution close in the .suo file (per-user, per-solution) and will be used as the load priority for the project on the next solution open, unless the Solution Load Manager overrides the persisted value by calling this method in OnBeforeOpenProject.