C#获取类库(DLL)的绝对路径

C#中当我们在写公共的类库的时候难免会调用一些xml配置文件,而这个配置文件的路径则非常重要,常用的方式就是写在web.config中,而我们也可以将配置文件直接放在dll的同级目录,那么怎么获得当前dll的同级目录呢,使用下面方法即可。

/// <summary>
/// 获取Assembly的运行路径
/// </summary>
///<returns></returns>
private string GetAssemblyPath()
{
    string _CodeBase = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
    _CodeBase = _CodeBase.Substring(8, _CodeBase.Length - 8);    // 8是file:// 的长度
    string[] arrSection = _CodeBase.Split(new char[] { '/' });
    string _FolderPath = "";
    for (int i = 0; i < arrSection.Length - 1; i++)
    {
        _FolderPath += arrSection[i] + "/";
    }
    return _FolderPath;
}

 上面是之前写的,后面发现有更简单的方式,代码如下:

public String GetAssemblyPath()
{
    return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);            
}