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 に答える