我有 2 个文件,第一个是当前正在运行的应用程序 (file1.exe),第二个是任何类型的另一个文件 (file2.*)
如果第二个文件位于执行第一个文件的同一目录中,如何检查 file1.exe 的源代码?
我熟悉 File.Exists(path) 所以我认为这归结为找到一种方法,该方法将返回运行第一个文件的目录。
我有 2 个文件,第一个是当前正在运行的应用程序 (file1.exe),第二个是任何类型的另一个文件 (file2.*)
如果第二个文件位于执行第一个文件的同一目录中,如何检查 file1.exe 的源代码?
我熟悉 File.Exists(path) 所以我认为这归结为找到一种方法,该方法将返回运行第一个文件的目录。
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
应该这样做
尝试这个:
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
这是Assembly.GetExecutingAssembly()的 MSDN 文档的链接
using System.IO;
using System.Windows.Forms;
Path.GetDirectoryName(Application.ExecutablePath);
或者
using System.IO;
using System.Reflection;
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
这些方法中的第一种可能更有效。但是对于这样的工作谁在乎!:]
我希望这有帮助。
File.Exists("file2.whatever");
默认情况下应该可以工作,也Exists
可以接受相对路径。
唯一一次我发现这不准确是当您将不同的工作目录设置为您启动应用程序的位置时。
最好使用GetEntryAssembly():
System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetEntryAssembly().Location);
即使从另一个程序集调用,这也会返回您的 *.exe