• asp.net core、c#关于路径的总结


    参考文章:https://www.cnblogs.com/yugongmengjiutian/articles/5521165.html

    1、asp.net core controller中

    获取当前请求路径

    HttpContext.Request.Path
    
    • 1

    2、基础c#或者asp.net core工程中

    获取项目下的文件路径

    System.AppDomain.CurrentDomain.BaseDirectory
    
    "D:\\ItemProjects\\dotnet\\MYTest\\MYTest\\bin\\Debug\\net6.0\\"
    
    • 1
    • 2
    • 3

    获取模块的完整路径,包括执行的文件名

    System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
    
    "D:\\ItemProjects\\dotnet\\MYTest\\MYTest\\bin\\Debug\\net6.0\\MYTest.exe"
    
    • 1
    • 2
    • 3

    获取和设置当前目录(该进程从中启动的目录)的完全限定目录。

    System.Environment.CurrentDirectory 
    
    "D:\\ItemProjects\\dotnet\\MYTest\\MYTest"
    
    • 1
    • 2
    • 3

    获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
    获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB,或者C:\Program Files\Adobe,有时不一定返回什么东东,这是任何应用程序最后一次操作过的目录,比如你用Word打开了E:\doc\my.doc这个文件,此时执行这个方法就返回了E:\doc了。

    System.IO.Directory.GetCurrentDirectory() 
    
    "D:\\ItemProjects\\dotnet\\MYTest\\MYTest"
    
    • 1
    • 2
    • 3

    获取程序的基目录。

    System.AppDomain.CurrentDomain.BaseDirectory
    
    "D:\\ItemProjects\\dotnet\\MYTest\\MYTest\\bin\\Debug\\net6.0\\"
    
    • 1
    • 2
    • 3

    获取和设置包括该应用程序的目录的名称。

    System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
    
    "D:\\ItemProjects\\dotnet\\MYTest\\MYTest\\bin\\Debug\\net6.0\\"
    
    • 1
    • 2
    • 3

    3、操作环境变量

    利用System.Environment.GetEnvironmentVariable()方法可以很方便地取得系统环境变量.
    如: System.Environment.GetEnvironmentVariable("windir")就可以取得windows系统目录的路径。

    以下是一些常用的环境变量取值:

    System.Environment.GetEnvironmentVariable("windir");
    
    System.Environment.GetEnvironmentVariable("INCLUDE");   
    
    System.Environment.GetEnvironmentVariable("TMP");   
    
    System.Environment.GetEnvironmentVariable("TEMP");   
    
    System.Environment.GetEnvironmentVariable("Path");   
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    Java工程师进阶知识完全扫盲, 太全了!!
    传输层——UDP协议、TCP协议
    Nginx七层的负载均衡使用keepalived实现高可用
    pg 在执行批量插入问题 --chatGPT
    常见时间转换问题
    C语言 柔性数组
    LabVIEW如何修复或重置NI MAX数据库文件
    Word使用小技巧
    Go网络通信
    【10】Docker私有仓库
  • 原文地址:https://blog.csdn.net/weixin_43702146/article/details/125888020