首页 > C# > C#获取应用程序文件夹路径的最佳方式

C#获取应用程序文件夹路径的最佳方式

上一篇 下一篇

我看到有一些方法可以获取应用程序文件夹路径:

  1. 1、Application.StartupPath
  2. 2、System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().Location)
  3. 3、AppDomain.CurrentDomain.BaseDirectory
  4. 4、System.IO.Directory.GetCurrentDirectory()
  5. 5、Environment.CurrentDirectory
  6. 6、System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
  7. 7、System.IO.Path.GetDirectory(Application.ExecutablePath)

根据情况,最好的方法是什么?

分割线

网友回答:

AppDomain.CurrentDomain.BaseDirectory对于访问其位置相对于应用程序安装目录的文件可能是最有用的。

在 ASP.NET 应用程序中,这将是应用程序根目录,而不是 bin 子文件夹 – 这可能是您通常想要的。在客户端应用程序中,它将是包含主可执行文件的目录。

在 VSTO 2005 应用程序中,它将是包含应用程序的 VSTO 托管程序集的目录,而不是 Excel 可执行文件的路径。

其他人可能会根据您的环境返回不同的目录 – 例如,请参阅 @Vimvq1987 的答案。

CodeBase是找到文件的位置,可以是以 http:// 开头的 URL。在这种情况下,可能是程序集下载缓存。不保证为 GAC 中的程序集设置代码库。Location

更新
这些天(.NET Core,.NET Standard 1.3+或.NET Framework 4.6+)最好使用而不是.两者是等效的,但不再支持多个应用程序域。AppContext.BaseDirectoryAppDomain.CurrentDomain.BaseDirectory

分割线

网友回答:

  1. Application.StartupPath和 7. – 仅适用于 Windows 窗体应用程序System.IO.Path.GetDirectoryName(Application.ExecutablePath)
  2. System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().Location)
    会给你这样的东西:这是你正在运行的页面所在的位置。"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\legal-services\e84f415e\96c98009\assembly\dl3\42aaba80\bcf9fd83_4b63d101"
  3. AppDomain.CurrentDomain.BaseDirectory对于 Web 应用程序可能很有用,并且会返回类似 这是基本目录并且非常有用的东西。"C:\hg\Services\Services\Services.Website\"
  4. System.IO.Directory.GetCurrentDirectory()和 5.Environment.CurrentDirectory

将为您提供进程从何处触发的位置 – 因此对于从Visual Studio以调试模式运行的Web应用程序,类似"C:\Program Files (x86)\IIS Express"

  1. System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)

将为您提供运行代码的位置,对于可能是 Web 应用程序的.dll"file:\C:\hg\Services\Services\Services.Website\bin"

现在,例如控制台应用程序点 2-6 将是文件所在的目录。.exe

希望这能为您节省一些时间。

分割线

网友回答:

请注意,并非所有这些方法都将返回相同的值。在某些情况下,它们可以返回相同的值,但请注意,它们的用途不同:

Application.StartupPath

返回参数(可在运行应用程序时设置)StartupPath

System.IO.Directory.GetCurrentDirectory()

返回当前目录,该目录可能是也可能不是应用程序所在的文件夹。这同样适用于.如果您在 DLL 文件中使用它,它将返回进程运行位置的路径(在 ASP.NET 中尤其如此)。Environment.CurrentDirectory

模板简介:该模板名称为【C#获取应用程序文件夹路径的最佳方式】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 214次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 04-15
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信模板 企业网站 微信公众平台 微信文章 html5 单页式简历模板 微信图片 自适应 响应式 微信素材
您可能会喜欢的其他模板