【问题标题】:c# Relative pathc# 相对路径
【发布时间】:2013-06-13 09:03:22
【问题描述】:

您好,我有一个用 C# 在 Visual Studio 中制作的程序。 在这个程序中,我有一些需要调用的图片。还有一些需要保存的html文件。 所有这些文件都保存在地图“邮件”中。 目前我有路径:

 String pad = @"C:\Users\Charlotte\Desktop\proof of concept\mails\";

我需要这个路径是相对的,这样程序的用户就可以将地图邮件复制到他/她想要的任何地方并执行我的程序的 exe 并使用它。

谁能帮帮我?

【问题讨论】:

  • relative什么
  • 听起来您的应用程序没有安装到像 Program Files 这样的特殊文件夹中,而是从下载位置运行?
  • 我的应用程序只是一个 exe 和一个访问数据库,他们可以将它放在任何他们想要的地方。
  • 这没有意义。什么需要是相对的,它需要相对于哪里?目前路径有什么问题?
  • 具体来说,需要这个相对于.exe所在的目录,还是相对于进程的当前工作目录?

标签: c# visual-studio-2010 relative-path


【解决方案1】:

您可以使用函数:Directory.GetCurrentDirectory() 来获取当前目录的路径,而不是告诉程序完整路径。

【讨论】:

  • 当我尝试在我的应用程序中使用图像时,这对我帮助很大。在我自己的计算机上工作很好,但是当我尝试在其他计算机上运行它时,它会刹车,因为他们在同一目录中没有图像。这解决了我的问题。再次感谢!
【解决方案2】:

如果用户将文件放在他想要的任何地方,你需要告诉你的程序它在哪里。因此,如果您使用 OpenFile 对话框,您的路径将是:

string pad = openFileDialog1.FileName;

另一方面,如果您的意思是路径应该与您将使用的 exe 文件相关:

string pad = Application.StartupPath + "\\mails\\";

这意味着路径是您的 exe \mails 的目录,但没有文件名。

【讨论】:

    【解决方案3】:

    试试看

    string path = @"..\..\mails\";
    

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-26
      • 2018-08-19
      • 1970-01-01
      相关资源
      最近更新 更多