捕获它用于运行程序的目录路径

时间:2014-04-01 22:39:48

标签: c# path system .net

我有一个C#应用程序,假设它从bin目录

运行
string current_directory = Directory.GetCurrentDirectory(); //get current directory, this is the bin dir
string parent_dir = Directory.GetParent(current_directory).ToString();// this is parent of bin dir

string _Config1 = parent_dir + "\\config\\x.cfg";
string _Config2 = parent_dir + "\\config\\y.cfg";
string _Log = parent_dir + "\\log\\z.log";

问题是由于某些原因,用户无法进入bin目录并运行应用程序(只需输入" application_name")。他必须使用路径(即d:\blah\1\blah\2\blah\3\bin\application_name

运行它

当他这样做时,他得到了

  

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly()。罗阳离子)

所以要么我必须捕获他用来运行程序的路径并在我的程序中使用它,或者以某种方式使我的应用程序能够使用路径运行。

3 个答案:

答案 0 :(得分:1)

您可以使用AppDomain.CurrentDomain.BaseDirectory

答案 1 :(得分:0)

WinForms使用Application.StartupPath

答案 2 :(得分:0)

您可以使用反射:

var path = System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetName().GetCodebase );