ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Desktop.Core Namespace / Project Class / OpenAsync Method
The full path or URL to the project or project package that will be opened
Example

In This Topic
    OpenAsync Method (Project)
    In This Topic
    Opens an existing project or project package
    Syntax
    public static Task<Project> OpenAsync( 
       string projectUri
    )
    Public Shared Function OpenAsync( _
       ByVal projectUri As String _
    ) As Task(Of Project)

    Parameters

    projectUri
    The full path or URL to the project or project package that will be opened

    Return Value

    A Task returning the project that was opened
    Exceptions
    Remarks

    ArcGIS Pro can open projects or project packages stored on a local or network computer. ArcGIS Pro can also open project packages available from a portal or ArcGIS Online, if an appropriate URL is provided. You must sign in to the organization that hosts the project package if it is not public.

    If appropriate, a project package is first downloaded from a portal to the user profile directory. Project packages are unpacked, then the project file (*.aprx) it contains is opened by ArcGIS Pro.

    If a project is currently open in ArcGIS Pro, it will be closed before the specified project is opened.

    Example
    Open an existing project
    //Opens an existing project or project package
    await Project.OpenAsync(@"C:\Data\MyProject1\MyProject1.aprx");
    Close a project
    //A project cannot be closed using the ArcGIS Pro API. 
    //A project is only closed when another project is opened, a new one is created, or the application is shutdown.
    How to access Geoprocessing History
    string openProjectPath = @"D\DATA\IGPHistoryItemTestProject\IGPHistoryItemTestProject.aprx";
    await Project.OpenAsync(openProjectPath);
    MapProjectItem mapProjItem = Project.Current.GetItems<MapProjectItem>().FirstOrDefault(item => item.Name.Equals("Map", StringComparison.CurrentCultureIgnoreCase));
    
    var map = await QueuedTask.Run(() => mapProjItem.GetMap());
    var ftrLayer = map.Layers[0] as FeatureLayer;
    string tool1 = "management.GetCount";
    var args1 = Geoprocessing.MakeValueArray(ftrLayer);
    var env = Geoprocessing.MakeEnvironmentArray(overwriteoutput: true);
    GPExecuteToolFlags executeFlags = GPExecuteToolFlags.AddToHistory;
    var t = await Geoprocessing.ExecuteToolAsync(tool1, args1, env, null, null, executeFlags);
    
    IEnumerable<IGPHistoryItem> hisItems = Project.Current.GetProjectItemContainer(Geoprocessing.HistoryContainerKey) as IEnumerable<IGPHistoryItem>;
    
    String hitemID = "";
    String hitemToolPath = "";
    IGPResult hitemGPResult = null;
    DateTime hitemTimeStamp;
    
    foreach (var hitem in hisItems)
    {
      // common IGPHistoryItem and Item properties
      hitemID = (hitem as Item).ID;
      hitemToolPath = hitem.ToolPath;
      hitemGPResult = hitem.GPResult;
      hitemTimeStamp = hitem.TimeStamp;
    }
    
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also