`

c# 当前路径的问题

    博客分类:
  • c#
 
阅读更多

c# 当前路径的问题
C#获取当前路径的方法如下:

1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

-获取模块的完整路径。

2. System.Environment.CurrentDirectory

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

3. System.IO.Directory.GetCurrentDirectory()

-获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有时不一定返回什么东东,我也搞不懂了。

4. System.AppDomain.CurrentDomain.BaseDirectory

-获取程序的基目录。

5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

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

6. System.Windows.Forms.Application.StartupPath

-获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已

7. System.Windows.Forms.Application.ExecutablePath

-获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。

对于Windows程序和Web 应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序.于是我们可以使用如下的代码

string path = "";   if (System.Environment.CurrentDirectory == AppDomain.CurrentDomain.BaseDirectory)//Windows应用程序则相等   ...{   path = AppDomain.CurrentDomain.BaseDirectory;   }   else  ...{   path = AppDomain.CurrentDomain.BaseDirectory + "Bin\";   } 这样如果我们写了一个类库,类库中用到了Assembly.LoadFrom,由于是通用类库,所以可能用到Windows程序中也可能用到Web中,那么用上面的代码就很方便了.

1、Server.MapPath

2、System.Windows.Forms.StartupPath

3、Type.Assembly.Location

C#获取当前路径方法2可以应用于控制台应用程序,WinForm应用程序,Windows服务,方法1可以应用于Web应用程序,方法3都可以应用。

但方法3是加载应用程序的路径。如果是Web应用程序,取得的路径是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files目录。所以Web项目还是使用Server.MapPath吧。否则建议使用方法2。如果自己新建类库。可以加入对System.Windows.Forms.StartupPath的引用后使用。
关于Server.MapPath():

 ./当前目录
/网站主目录
../上层目录
~/网站虚拟目录

 如果当前的网站目录为E:\wwwroot   应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\company\news\show.asp
在show.asp页面中使用
Server.MapPath("./")   返回路径为:E:\wwwroot\company\news
 Server.MapPath("/")    返回路径为:E:\wwwroot
 Server.MapPath("../")   返回路径为:E:\wwwroot\company
 Server.MapPath("~/")   返回路径为:E:\wwwroot\company
 server.MapPath(request.ServerVariables("Path_Info"))
 Request.ServerVariables("Path_Translated") 
上面两种方式返回路径为 D:\wwwroot\company\news\show.asp

 

分享到:
评论

相关推荐

    C#获取当前路径

    在C#编程中,获取当前路径是常见的操作,主要用于定位程序执行时的文件或资源位置。这在处理本地文件系统交互、配置文件读取、日志记录等方面非常有用。本篇将详细介绍C#中获取不同类型的当前路径的方法,并提供相关...

    C#最短路径计算

    在图论中,最短路径问题是指寻找图中两个节点之间的路径,使得路径上的边权值之和最小。这个问题在现实生活中有许多应用,例如GPS导航系统寻找两点间的最快驾车路线,或网络数据传输寻找延迟最低的数据包传输路径。 ...

    C#取得当前文件夹下全部文件路径或文件名

    在C#编程中,获取当前文件夹下所有文件的路径或文件名是一项常见的任务,尤其在处理文件系统操作时。这个任务可以通过使用`System.IO`命名空间中的类和方法来实现。下面将详细介绍如何实现这一功能,并提供相关知识...

    最短路径算法c# 最短路径算法

    该算法通过维护一个优先队列(通常使用二叉堆实现)来保证每次找到当前未访问节点中最短路径。它适用于有向图或无向图,但不适用于负权边,因为其无法保证找到正确的最短路径。 2. Bellman-Ford算法:Bellman-Ford...

    C# 获取文件路径

    C# 获取文件路径是指在 C# 程序中获取当前执行文件的路径、当前工作目录的路径、基目录的路径等信息。在实际开发中,获取文件路径是非常重要的,例如在读取配置文件、加载资源文件、记录日志文件等场景中都需要获取...

    C#最短路径2017

    最短路径问题源于图论,通常涉及到在一个加权图中找到两个节点之间的最短路径。在图中,每个节点代表一个位置,每条边代表两个位置之间的连接,而权重则表示从一个位置到另一个位置的成本或距离。经典的最短路径算法...

    C#获取当前路径的方法集合

    在C#编程中,获取当前路径是开发过程中常见的需求之一,尤其在处理文件读写、配置加载等场景下尤为重要。本文将详细介绍C#中获取当前路径的多种方法,包括但不限于获取程序所在目录、当前线程的工作目录、应用程序...

    C#文件读写路径总结

    C#文件读写路径总结 本文档总结了C#文件读写路径相关的知识点,涵盖路径操作、文件和目录操作、读写文件、文件系统监视等方面。下面是详细的知识点总结: 一、路径相关操作 1. 判定路径是否有效/合法:使用 Path....

    1.6_C#设置程序当前路径

    在C#编程中,了解如何设置程序的当前路径是非常重要的,因为这直接影响到程序如何读取、写入或操作文件和资源。当前路径是程序执行时所在的目录,它对于文件的相对路径解析至关重要。本节将详细讲解如何在C#中获取和...

    C#获得当前程序的路径

    在C#编程中,了解如何获取当前运行程序的路径是一项基本但重要的技能,尤其是在处理文件操作、资源定位或调试信息时。以下是从标题、描述、标签以及部分内容中提炼出的关键知识点,涵盖了获取当前程序路径的各种方法...

    求最长路径的C#代码

    最长路径问题是一个经典的图论问题,它可以被看作是寻找从源节点到目标节点的最大权重路径。在这个场景下,我们有一个名为`MatrixForCriticalPath.cs`的文件,它很可能包含了实现这个功能的C#代码。 首先,让我们...

    C#中DllImport用法和路径问题 .rar

    在C#编程中,`DllImport`特性是用于导入非托管代码...以上就是关于C#中`DllImport`的使用方法和解决路径问题的基本知识。通过正确理解和应用这些概念,开发者可以顺利地在.NET环境中调用非托管代码,实现更丰富的功能。

    C#取得当前文件夹下全部文件路径或文件名.rar

    在C#编程中,获取当前文件夹下所有文件的路径或文件名是一项常见的任务,尤其在文件管理和系统操作相关的应用中。在这个场景中,我们使用VS 2008作为开发环境,通过C#语言来实现这个功能。下面将详细解释如何实现这...

    C#获取当前路径的7种方法

    在C#编程中,获取当前路径是常见的需求,特别是在处理文件和目录操作时。下面将详细解释标题和描述中提到的7种方法以及如何在不同类型的程序中选择合适的方法。 1. **`System.Diagnostics.Process....

    C#中获取程序当前路径的方法.txt

    ### C#中获取程序当前路径的方法 在C#编程中,获取程序的当前路径是非常常见的需求之一,这对于处理文件操作、资源定位等场景至关重要。本文将详细介绍几种在C#中获取程序当前路径的方法,并对每种方法进行深入解析...

    C#路径文件目录IO常见操作汇总.

    ### C#路径文件目录IO常见操作汇总 #### 一、路径相关操作 **问题1:如何判定一个给定的路径是否有效/合法** - **解决方案**:为了验证路径的有效性,可以通过调用`Path.GetInvalidPathChars()`或`Path....

    C#获取相对路径方法

    在C#编程中,获取相对路径是经常遇到的需求之一,特别是在处理文件系统操作时尤为重要。本文将详细介绍八种获取相对路径的方法,并对每种方法进行深入解析,...希望本文能帮助你在C#开发中更好地处理路径相关的问题。

    C#实现最短路径算法

    最短路径问题通常涉及到在一个加权图中寻找从一个源节点到其他所有节点的最短路径。这里我们将探讨几种常见的最短路径算法,并且会提及如何用C#来实现它们。 1. **Dijkstra算法**:由艾兹格·迪科斯彻提出的...

    c#获取各种路径的方法

    在C#开发中,经常会遇到需要获取当前程序或系统的各种路径的情况。例如,获取程序自身的路径、安装包的位置、用户的桌面路径等。这些路径信息对于读写文件、配置程序运行环境等方面至关重要。本文将详细介绍如何在C#...

Global site tag (gtag.js) - Google Analytics