这两个计划写一个小类库,需要在不同项目下任意调用。该类库需要对磁盘文件进行读写,所以就需要获取程序执行的磁盘路径,就简单的对获取磁盘路径的方法进行研究。

  借助搜索引擎,我从网上搜罗来多种方法,都可以直接或间接的获取到应用程序执行的根目录。大概总结一下,一共有以下 11 种:

    Server.MapPath("~")  //使用 HTTP 上下文中的 Server 对象来获取Web站点的根目录

    System.AppDomain.CurrentDomain.BaseDirectory  //使用应用程序域对象获取当前线程的应用程序域的基准目录

    System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase  //使用应用程序域对象获取当前线程的应用程序域的配置信息中的应用程序目录

    System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName  //获取当前进程的主模块的文件名(全路径。由该文件路径可以得到程序集所在的目录)

    System.Environment.CurrentDirectory  //获取应用程序环境的当前目录

    System.IO.Directory.GetCurrentDirectory()  //使用静态类 Directory 下的 GetCurrentDirectory 方法获取当前程序的路径

    System.Reflection.Assembly.GetCallingAssembly().Location  //获取调用该方法的方法所在的程序集,并获取该程序集文件路径(由该文件路径可以得到程序集所在的目录)

    System.Reflection.Assembly.GetEntryAssembly().Location  //获取包含该应用程序入口点的程序集(可执行文件),并获取该程序集文件的路径(由该文件路径可以得到程序集所在的目录)

    System.Reflection.Assembly.GetExecutingAssembly().Location  //获取执行该方法的程序集,并获取该程序集的文件路径(由该文件路径可以得到程序集所在的目录)

    System.Windows.Forms.Application.StartupPath  //获取启动应用程序的可执行文件所在的目录

    System.Windows.Forms.Application.ExecutablePath  //获取启动应用程序的可执行文件的路径(由该文件路径可以得到应用程序所在的目录)

获取应用程序根目录物理路径(Web and Windows)的更多相关文章

  1. PHP中如何获取网站根目录物理路径

    在php程序开发中经常需要获取当前网站的目录,我们可以通过常量定义获取站点根目录物理路径,方便在程序中使用. 下面介绍几种常用的获取网站根目录的方法. php获取网站根目录方法一: <?php ...

  2. Winform获取当前程序名称或路径

    以下几种方法获取当前程序名称或路径: // 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径.      // 获 ...

  3. [AIR] 利用File获取应用程序根目录

    import flash.filesystem.File; var file1:File = new File(File.applicationDirectory.resolvePath(" ...

  4. C#获取项目程序及运行路径的方法

    1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录的物理路径,最后包含“\”: 2.c# winform用 A:“Applicat ...

  5. C#获取项目程序及运行路径的方

    1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录的物理路径,最后包含“\”:   2.c# winform用 A:“Applic ...

  6. Linux中获取当前程序的绝对路径

    代码如下: char current_absolut_path[MAX_SIZE] = ""; memset(current_absolut_path,,MAX_SIZE); // ...

  7. Linux下获取当前程序的绝对路径

    在Linux开发应用时,我们常常需要在程序中获取当前程序绝对路径,我们可以通过readlink读取符号链接/proc/self/exe进行获取,这个符号链接代表当前程序,它的源路径就是当前程序的绝对路 ...

  8. MFC VC++获取当前程序的运行路径

    ]; GetModuleFileName(, szDir, ); int i; i = lstrlen(szDir) - ; ) { if(szDir[i] == _T('\\')) { szDir[ ...

  9. ASP.NET获取服务器文件的物理路径

    如下: string fullpath = context.Server.MapPath("hello.htm"); //得到hello.htm的全路径 string conten ...

随机推荐

  1. 第一章 Python入门

    一. 语言 计算机语言:人和计算机之间沟通的语言计算机语言: 按照级别分类:(越高级月进阶人类) 机器语言: 汇编语言: 助记符 ag. add 2 3 高级语言: c, PHP, java , .n ...

  2. WinForm中DataGridView导出为Excel(快速版)

    public static void ExportExcel(DataGridView myDGV, string fileName) { string saveFileName = fileName ...

  3. flask第十篇——url_for【3】

      继续url_for的知识点 # coding: utf-8 from flask import Flask, url_forimport flask app = Flask(__name__)   ...

  4. (转)理解classloader

    ClassLoader翻译过来就是类加载器,普通的Java开发者其实用到的不多,但对于某些框架开发者来说却非常常见.理解ClassLoader的加载机制,也有利于我们编写出更高效的代码.ClassLo ...

  5. CocosCreator资源工作流程

    --摘自官方文档 资源工作流程 添加资源 资源管理器 提供了三种在项目中添加资源的方式: 通过 创建按钮 添加资源 在操作系统的文件管理器中,将资源文件复制到项目资源文件夹下,之后再打开或激活 Coc ...

  6. vscode调试C/C++时支持查看定义查看引用

    貌似老版支持现在不支持了,需要自己加第三方工具,方法如下: 确保你安装了c/c++,此文写作时版本为0.20.1 从GTAGS官网下载Win32程序,解压,将其放在合适的位置,并把其目录下/bin文件 ...

  7. iOS CrashLog Analysis

    链接: iOS友盟崩溃日志定位代码 [友盟统计报表解读]之错误分析iOS版 DYSMTool Download Address 利用友盟和dsym分析发布app用户错误 iOS -- 友盟工具进行Cr ...

  8. aps.net手写验证模型的方法

    /// <summary> /// 基础验证类 /// </summary> public class BaseValidator { /// <summary> ...

  9. IBM Thread and Monitor Dump Analyzer for Java解决生产环境中的性能问题

    这个工具的使用和 HeapAnalyzer 一样,非常容易,同样提供了详细的 readme 文档,这里也简单举例如下: #/usr/java50/bin/java -Xmx1000m -jar jca ...

  10. Introduction to pinatrace annotate version 2: a look into latches again

    https://fritshoogland.wordpress.com/2017/12/22/introduction-to-pinatrace-annotate-version-2-a-look-i ...