zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    3n+1问题
    判断x的m次方和y的m次方末尾三位数是否相等
    OpenJudge 计算概论1007:点评赛车
    整数划分问题【转】
    证明:平面内有5个整点,必有两个点连线的中点为整点【本资源整理自网络】
    欧几里德算法的证明
    导出本地和远程SVN项目, Export remote SVN repository
    Centos7的firewalld配置
    ESXi5.5下的Centos7虚机配置静态IP
    Dubbo消费端错误: ClassNotFoundException: org.apache.zookeeper.proto.WatcherEvent
  • 原文地址:https://www.cnblogs.com/shuyu/p/10842873.html
Copyright © 2011-2022 走看看