0

我正在尝试创建一个类库,它将根据其物理文件名加载不同的文件。

即,如果物理文件名为“test.dll”,它将从“test.config”加载其设置,如果该文件被复制并重命名为“copy.dll”,那么它将从“copy.config”加载其设置。 ...

System.Diagnostics.Process.GetCurrentProcess(); 
//doesn't work as I'm loading the dll's dynamically into a console application and calling their methods.

有任何想法吗?

4

2 回答 2

1
string filePath = typeof(SomeAssemblyMemberType).Assembly.CodeBase;

CodeBase属性返回加载的包含清单的文件的绝对路径,或者如果程序集是使用Load方法加载的,则返回加载器方法所在的程序集的路径。

例如,如果您的 DLL 中的类对象中有以下代码:

public class Grace
{
    public Grace() {}

    public string AbsoluteFileName
    {
        get {
            return this.GetType().Assembly.CodeBase;
        }
    }
}
于 2013-03-08T23:28:02.997 回答
0

使用组装:

 string filePath = System.Reflection.Assembly.GetCallingAssembly().Location;
于 2013-03-08T23:15:16.320 回答