在我的项目\ 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文件的地方获取每个目录?
答案 0 :(得分:1)
一种方式(确定.Net CE中的火灾方式)是
string path = Path.GetDirectoryName(
Assembly.GetEntryAssembly().GetModules()[0].FullyQualifiedName);
或
string path = Path.GetDirectoryName(
Assembly.GetEntryAssembly().Location);
这将阻止Shortcut设置应用程序CurrentDirectory或StartupPath,这在技术上可能与它的执行路径不同(例如ClickOne程序)。
答案 1 :(得分:0)
您可以通过执行以下操作来获取正在运行的目录:
Application.StartupPath
您可以阅读更多相关信息here
或者你可以试试Environment.CurrentDirectory
,但由于捷径和其他获取文件的方式,这可能无法获得你想要的结果。
http://msdn.microsoft.com/en-us/library/system.environment.currentdirectory.aspx
你也可以这样做:
System.IO.Path.GetDirectoryName(Application.ExecutablePath);
或者
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);