/// <summary> /// 獲取並設置項目和解決方案絕對路徑 /// </summary> /// <returns></returns> protected void GetSetPath() { var dte2 = Package.GetGlobalService(typeof(DTE)) as DTE2; var solution = dte2.Solution; //var projects = solution.Projects; var projects = (UIHierarchyItem[])dte2?.ToolWindows.SolutionExplorer.SelectedItems; var project = projects[0].Object as Project; var SolutionName = Path.GetFileName(solution.FullName);//解決方案名稱 var SolutionDir = Path.GetDirectoryName(solution.FullName);//解決方案路徑 var ProjectName = Path.GetFileName(project.FullName);//項目名稱 var ProjectDir = Path.GetDirectoryName(project.FullName);//項目路徑 }
var dte2 = this.Dte2; var solution = dte2.Solution; //var projects = solution.Projects; var projects = (UIHierarchyItem[])dte2?.ToolWindows.SolutionExplorer.SelectedItems; var project = projects[0].Object as Project; //獲取項目全部引用 var vsproject = project.Object as VSLangProj.VSProject; foreach (VSLangProj.Reference reference in vsproject.References) { if (reference.SourceProject == null) { // This is an assembly reference var fullName = GetFullName(reference); var assemblyName = new AssemblyName(fullName); } else { // This is a project reference } } this.Parameter.SolutionName = Path.GetFileName(solution.FullName); this.Parameter.SolutionDir = Path.GetDirectoryName(solution.FullName); this.Parameter.ProjectName = Path.GetFileName(project.FullName); this.Parameter.ProjectDir = Path.GetDirectoryName(project.FullName);
/// <summary> /// 警告 /// </summary> /// <param name="body"></param> protected void ShowMessageBox(string body, string title = "警告") { System.Windows.Forms.MessageBox.Show(body, title, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); }