用.Net获取AutoCAD当前执行程序集路径

  在对AutoCAD进行二次开发过程中,有时会需要获取当前程序集所在的路径,以便通过相对路径进行数据库连接,避免打开不同的dwg文件后系统当前相对路径被修改而造成的数据库连接错误。以下的代码实现了当前执行程序集路径的获取功能(更多路径的取得办法可参考这篇帖子):

using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;

using System.IO;
using System.Reflection;

namespace PathTest
{
    public class Command2
    {
        [CommandMethod("PTHA")]
        public void AssemblyPath()
        {
            Document doc =
              Application.DocumentManager.MdiActiveDocument;
            //当前执行程序集完整路径
            string File = Assembly.GetExecutingAssembly().Location;
            //执行程序集所在目录
            FileInfo assinfo = new FileInfo(File);
            string path = assinfo.DirectoryName;

            doc.Editor.WriteMessage(
              "\n当前程序序集路径: " + path
            );
        }
    }
}