我如何在.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?

下一篇: How do emulators work and how are they written?