获取项目 解决方案路径

   /// <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[].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[].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);
}
05-25 20:05