我如何在.NET控制台应用程序中获取应用程序的路径?
如何在控制台应用程序中找到应用程序的路径?
在Windows窗体中,我可以使用Application.StartupPath
来查找当前路径,但这似乎并未在控制台应用程序中可用。
System.Reflection.Assembly.GetExecutingAssembly()
。 Location
1
如果你想要的只是目录,将它与System.IO.Path.GetDirectoryName
结合起来。
1按照Mindor先生的评论:
System.Reflection.Assembly.GetExecutingAssembly().Location
返回执行程序集当前所在的System.Reflection.Assembly.GetExecutingAssembly().Location
,当执行程序集未执行时,该位置可能是也可能不是该程序集所在的位置。 在阴影复制程序集的情况下,您将在临时目录中获取路径。 System.Reflection.Assembly.GetExecutingAssembly().CodeBase
将返回程序集的'永久'路径。
您可以使用下面的代码来获取当前的应用程序目录。
AppDomain.CurrentDomain.BaseDirectory
您有两种选择来查找应用程序的目录,您选择的目录取决于您的目的。
// to get the location the assembly is executing from
//(not necessarily where the it normally resides on disk)
// in the case of the using shadow copies, for instance in NUnit tests,
// this will be in a temp directory.
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
//To get the location the assembly normally resides on disk or the install directory
string path = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
//once you have the path you get the directory with:
var directory = System.IO.Path.GetDirectoryName(path);
链接地址: http://www.djcxy.com/p/8923.html
上一篇: How can I get the application's path in a .NET console application?