async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            var buildIntegratedProject = project as IBuildIntegratedNuGetProject;

            actions = CreateUninstallActions();

            var buildAction = await packageManager.PreviewBuildIntegratedProjectActionsAsync(
                buildIntegratedProject,
                actions,
                context,
                cancellationToken);

            project.OnBeforeUninstall(actions);

            await packageManager.ExecuteNuGetProjectActionsAsync(
                project,
                new [] { buildAction },
                context,
                NullSourceCacheContext.Instance,
                cancellationToken);

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);
        }