我知道在vb.net中你可以使用System.Reflection.MethodInfo.GetCurrentMethod.ToString
来获取你所在的当前方法的名称。但是,有没有办法使用System.Reflection...
来获取当前文件的名称你在吗?
因此,如果项目名为blah.vb
,我希望System.Reflection...
返回blah.vb
这可能吗?
答案 0 :(得分:2)
您可以使用System.Reflection.Assembly
查找当前程序集的文件名。有几种适用的方法可供选择:
GetEntryAssembly
- 返回启动进程的程序集(可执行文件)GetCallingAssembly
- 返回调用当前方法的程序集GetExecutingAssembly
- 返回当前方法所在的程序集我怀疑你想要的是GetExecutingAssembly
。所有这些方法都返回一个Assembly
对象,您可以通过该对象获取文件路径,如下所示:
Dim myFilePath As String = System.Reflection.Assembly.GetExecutingAssembly().Location
值得一提的是,如果你需要获取可执行文件的文件名,但是不是 .NET程序集(因为你在通过COM调用的.NET库中),那么上面的方法不起作用。为此,最好的选择是从命令行中获取第一个参数,如下所示: 将myComExeFile调暗为String = Environment.GetCommandLineArgs()(0)