C# 如何找到运行我的程序exe文件的目录?

C# 如何找到运行我的程序exe文件的目录?,c#,winforms,C#,Winforms,在我的project\debug目录中,我有程序exe文件,例如: test.exe 现在,我将从c运行这个test.exe:\ 在第二次中,我将把test.exe复制到d:\并从那里运行它 在我的代码中,我有一行: string programFilesX86 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) + "\\Diagnostic Tool\\7z.dll"; 相

在我的project\debug目录中,我有程序exe文件,例如:

test.exe

现在,我将从c运行这个test.exe:\ 在第二次中,我将把test.exe复制到d:\并从那里运行它

在我的代码中,我有一行:

string programFilesX86 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) + "\\Diagnostic Tool\\7z.dll";

相反,程序文件x86如何获取每个运行exe文件的目录?

您可以通过执行以下操作获取运行目录:

Application.StartupPath
你可以阅读更多关于它的内容

或者,您可以尝试
Environment.CurrentDirectory
,但这可能不会产生您想要的结果,因为使用快捷方式和其他方式访问您的文件

您还可以执行以下操作:

System.IO.Path.GetDirectoryName(Application.ExecutablePath);


您可以通过执行以下操作获取正在运行的目录:

Application.StartupPath
你可以阅读更多关于它的内容

或者,您可以尝试
Environment.CurrentDirectory
,但这可能不会产生您想要的结果,因为使用快捷方式和其他方式访问您的文件

您还可以执行以下操作:

System.IO.Path.GetDirectoryName(Application.ExecutablePath);

一种方法(当然.NETCE中也有fire方法)是

这将阻止快捷方式设置应用程序的CurrentDirectory或StartupPath,这在技术上可能与它的执行路径不同(例如,单击一个程序)。

单向(当然,在.Net CE中也使用fire way)

这将阻止快捷方式设置应用程序的CurrentDirectory或StartupPath,这在技术上可能与其执行路径不同(例如ClickOne程序)

string path = Path.GetDirectoryName(
  Assembly.GetEntryAssembly().Location);