2012-07-04 123 views
2

我想讓我的項目路徑在根目錄下。我一直無法這樣做,我曾嘗試過:獲取應用程序路徑

System.AppDomain.CurrentDomain.BaseDirectory; 

但是,這個過程很深入,我該如何獲得項目根目錄的路徑?

我使用C#與.NET框架4.0。

+0

您計劃隨同.exe一起發運您的項目嗎?複製你需要的資源。 –

+1

這並不是很清楚,所以我在猜測你的意思是「深入瞭解」並解釋你對答案的評論。如果我誤解了請糾正我。你是否試圖獲得.csproj文件的路徑,或者是編譯時創建的exe文件?你想在你的應用程序或Visual Studio中執行此操作嗎?實際上,如果你只是發佈你正在獲得的路徑,然後想要獲得的路徑,那將是非常有用的。 – David

+0

你不能只使用System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory,「..」,「..」) - 我意識到這不適合所有情況。 – paul

回答

4
Assembly.GetExecutingAssembly().Location. 
+1

它還返回exe文件的位置與文件名.exe到底 –

3

嘗試

Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) 
+0

它也返回exe文件位置 –

+0

你測試了Nikhil? –

+0

是的。在輸出結束時,它說斌/版本 –

0

你可以試試下面的:

String assemblyFileName = typeof(Class1).Assembly.CodeBase.Replace("file:///", ""); 
FileInfo assemblyInfo = new FileInfo(assemblyFileName); 
Console.WriteLine(assemblyInfo.Directory); 

注:1類是在你正在執行的程序庫中的類從