/// <summary> /// Factory method initializing instance of <see cref="ProjectNames"/> with values retrieved from a DTE project. /// </summary> /// <param name="dteProject">DTE project to get project names for.</param> /// <returns>New instance of <see cref="ProjectNames"/>.</returns> public static async Task <ProjectNames> FromDTEProjectAsync(EnvDTE.Project dteProject) { Assumes.Present(dteProject); await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); return(new ProjectNames( fullName: dteProject.FullName, uniqueName: EnvDTEProjectInfoUtility.GetUniqueName(dteProject), shortName: EnvDTEProjectInfoUtility.GetName(dteProject), customUniqueName: await EnvDTEProjectInfoUtility.GetCustomUniqueNameAsync(dteProject))); }
/// <summary> /// Factory method initializing instance of <see cref="ProjectNames"/> with values retrieved from a DTE project. /// </summary> /// <param name="dteProject">DTE project to get project names for.</param> /// <returns>New instance of <see cref="ProjectNames"/>.</returns> public static async Task <ProjectNames> FromDTEProjectAsync(EnvDTE.Project dteProject) { Assumes.Present(dteProject); ThreadHelper.ThrowIfNotOnUIThread(); return(new ProjectNames( fullName: dteProject.FullName, uniqueName: EnvDTEProjectInfoUtility.GetUniqueName(dteProject), shortName: EnvDTEProjectInfoUtility.GetName(dteProject), customUniqueName: await EnvDTEProjectInfoUtility.GetCustomUniqueNameAsync(dteProject))); }
/// <summary> /// Factory method initializing instance of <see cref="ProjectNames"/> with values retrieved from a DTE project. /// </summary> /// <param name="dteProject">DTE project to get project names for.</param> /// <returns>New instance of <see cref="ProjectNames"/>.</returns> public static ProjectNames FromDTEProject(EnvDTE.Project dteProject) { if (dteProject == null) { throw new ArgumentNullException(nameof(dteProject)); } Debug.Assert(ThreadHelper.CheckAccess()); return(new ProjectNames( fullName: dteProject.FullName, uniqueName: EnvDTEProjectInfoUtility.GetUniqueName(dteProject), shortName: EnvDTEProjectInfoUtility.GetName(dteProject), customUniqueName: EnvDTEProjectInfoUtility.GetCustomUniqueName(dteProject))); }
/// <summary> /// Factory method initializing instance of <see cref="ProjectNames"/> with values retrieved from a DTE project. /// </summary> /// <param name="dteProject">DTE project to get project names for.</param> /// <returns>New instance of <see cref="ProjectNames"/>.</returns> public static async Task <ProjectNames> FromDTEProjectAsync(EnvDTE.Project dteProject, IVsSolution5 vsSolution5) { Assumes.Present(dteProject); await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); var fullname = dteProject.FullName; var uniqueName = EnvDTEProjectInfoUtility.GetUniqueName(dteProject); var shortName = EnvDTEProjectInfoUtility.GetName(dteProject); var customUniqueName = await EnvDTEProjectInfoUtility.GetCustomUniqueNameAsync(dteProject); var projectId = GetProjectGuid(fullname, vsSolution5); return(new ProjectNames( fullName: fullname, uniqueName: uniqueName, shortName: shortName, customUniqueName: customUniqueName, projectId: projectId)); }