2012-02-13 19 views
2

我的一個類,執行一些指令需要知道它的位置(作爲絕對路徑)。我使用了一個簡單的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 
得到它