如何获取.NET应用程序的路径(而不是启动应用程序的应用程序的路径)

时间:2012-01-09 17:21:33

标签: c# .net vb.net

我无法在运行时获取应用程序可执行文件的路径。此应用程序由另一个可执行文件启动,每当我尝试使用Application.ExecutablePath时,我都会获得该应用程序的路径,而不是我的。

Dim aPath1 As String = Application.ExecutablePath()
Dim aPath2 As String = Application.StartupPath()

在C#中它将是

string aPath1 = Application.ExecutablePath;
string aPath2 = Application.StartupPath;

这些都没有给我这个程序的路径,其中这两行被执行,它们只告诉程序启动了这个程序。

非常感谢任何帮助,谢谢你。

3 个答案:

答案 0 :(得分:6)

Assembly.GetExecutingAssembly().Location

请参阅http://msdn.microsoft.com/en-us/library/system.reflection.assembly.location.aspx

答案 1 :(得分:5)

在大多数情况下,

AppDomain.CurrentDomain.BaseDirectory会为您提供所需的内容。

或者,这将为您提供执行代码的程序集的位置:

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

答案 2 :(得分:2)

Assembly.GetExecutingAssembly().Location