2012-02-13 6 views
2

いくつかの命令を実行するための私のクラスの1つは、絶対パスとしてその場所を知る必要があります。私は、ユーザーが実際にクラスが座っているディレクトリから実行していないときに、物事が乱れることに気づくまで、素朴なDirectory.GetCurrentDirectory()を使用していました。現在のクラス/ dllがC#にあるディレクトリを取り出す方法は?

どうすれば入手できますか?これまでのところ、私のグーグルはunfructuous ... :(

PSです:私は、DLL、無COMまたは空想何でも、ちょうど基本的なDLLとして、このクラスをリリースする予定それはどんなルールが変更されます

答えて

5

を:。

string path = GetType().Assembly.GetModules(false)[0].FullyQualifiedName; 

(あなたが唯一の可能性がある一つのモジュールを、持っていると仮定。)

5
string path = typeof(YourClass).Assembly.Location; 
string directory = Path.GetDirectoryName(path); 
を?

はそれを行う必要がありますあなたが使用することができます

1

あなたは使用することができます。

System.Reflection.Assembly.GetExecutingAssembly().Location 
0

Assembly.GetExecutingAssembly().Location 
アセンブリ

からそれを取得します
関連する問題