zoukankan      html  css  js  c++  java
  • C#下获取当前解决方案的路径

    编程时,由于需要,我们常将一些文件放在解决方案下的某个目录中,为了获取到该目录下文件,在C#中,我们常用的方法如网上所见,基本获得的是debug目录

    取得WinForm应用程序的目录方法
         1、Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
         2、Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
         3、Directory.GetCurrentDirectory();//获取应用程序的当前工作目录
         4、AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集
         5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称
    其中:以下两个方法可以获取执行文件名称
         1、Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。
         2、Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称
         3、System.IO.Path类中有一些获取路径的方法,可以在控制台程序或者WinForm中根据相对路径来获取绝对路径
    =====================================================================================================================
    上图是一个解决方案(GuidForm)的目录情况,之上提到的方法获得只是"debug"或者"debug",我的数据PB_COMMONDICS.mdb放到了GuidFormdata目录下,该如何获取呢?
    可以这样:
    using System.IO;
    
    //string dbstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"dataPB_COMMONDICS.mdb";
    //string dbstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"E:ProjectsGuidFormGuidFormPB_COMMONDICS.mdb"; 
    
    string dbstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + @"dataPB_COMMONDICS.mdb";


      

    没错,很简单,就是用 Parent属性;不过应该注意的是这种方法适合在调试解决方案文件时使用,如果.exe文件拷到了其他位置,这种方法就不行了。

    http://stackoverflow.com/questions/19001423/getting-path-of-a-to-the-parent-folder-of-the-solution-file-c-sharp

    http://www.cnblogs.com/bq-blog/archive/2012/09/01/2666394.html

  • 相关阅读:
    Selenium系列教程(2)
    如何清除浏览器缓存?
    菜鸟学自动化测试(一)----selenium IDE
    Python风格规范
    NSURLSession使用说明及后台工作流程分析
    iOS如何生成.a文件
    Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
    使用Xcode和Instruments调试解决iOS内存泄露
    Instruments使用实战
    正则表达式在iOS中的运用
  • 原文地址:https://www.cnblogs.com/5igis/p/5IGIS10555.html
Copyright © 2011-2022 走看看