我想创建一个转换文件的程序。我希望用户能够将可执行文件放在任何目录中,并且在执行该程序时(双击 .exe)我希望该程序能够处理exe 文件所在的当前文件夹中的所有文件。程序如何确定当前执行的路径?
I tried System.Windows.Forms.Application.StartupPath
但这似乎是错误的方式。
有任何想法吗?
你应该not use Directory.GetCurrentDirectory()
在您的情况下,因为当前目录可能与执行文件夹不同,特别是当您通过快捷方式执行程序时。
最好用Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
为了您的目的。这将返回当前正在执行的程序集所在的路径名。
虽然我建议的方法允许您区分执行程序集、入口程序集或任何其他加载的程序集,如索纳·古努尔他在回答中说,
System.IO.Path.GetDirectoryName(Application.ExecutablePath);
也可能就足够了。这等于
System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)