02.vs插件 获取项目和解决方案路径
获取项目 解决方案路径
/// <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); }