关于.NET中程序所在的路径
一、如果你建立的是一个Windows的窗体程序,可以使用Application对象。这一对象具有很多提供程序信息的共享方法和属性,包括ExecutablePath属性和StartupPath属性。
ExecutablePath属性返回的是执行程序的全部路径和文件名,StartupPath属性返回的是仅是执行程序的是路径。
对于一个位于C:\Temp directory的名为Test.exe的执行程序,其操作代码为:
Debug.WriteLine(Application.ExecutablePath)
Debug.WriteLine(Application.StartupPath)
程序结果如下:
C:\Temp\Test.exe
C:\Temp
二、如果程序不是基于Windows窗体(比如控制台程序,类库等),你可以使用一个System.Reflection名称空间。Assembly类提供了一个返回程序路径和文件名的Location属性。
为了能够通过Assembly类获得程序的路径,可以使用以下的代码:
Debug.WriteLine( _
System.Reflection.Assembly.GetExecutingAssembly().Location)
对于一个在C:\Temp名为Test.dll的程序,以上的代码返回的是:
C:\Temp\Test.dll
请注意,Application.ExecutablePath属性和Assembly.Location属性返回的都是执行文件的路径和文件名。
三、如果在web方式下,可以使用Request.MapPath(Request.ApplicationPath)来获得虚拟目录的路径
原文见:http://www.zdnet.com.cn/developer/code/story/0,2000081534,39174995,00.htm
这种方式也可以:AppDomain.CurrentDomain.BaseDirectory;