【问题标题】:Windows Form Getting the Filepath when the application is installed in the systemWindows 窗体在系统中安装应用程序时获取文件路径
【发布时间】:2013-08-08 07:07:03
【问题描述】:

我有一个包含错误日志文件的 Windows 窗体应用程序。我已将错误日志文件保存在解决方案路径中,并参考代码中的路径如下所示

File.AppendText(@"../../ErrorLog.txt")

当我在任何系统中以调试模式运行代码时,代码工作正常。

但是当我发布代码,获取 .exe 文件并在我的系统中安装应用程序时,应用程序无法找到错误日志文件。当我转到安装路径时,错误日志文件被命名为 @987654322 @.deploy 文件。

那么我应该如何在我的代码中引用这个路径,以便它在安装在任何系统中时都能正常工作??

【问题讨论】:

  • 您在部署 ErrorLog.txt 吗? ErrorLog.txt 程序是输入还是输出?对于错误日志,在程序第一次运行时从头开始创建文件通常是有意义的。注意:例如,如果您的安装目录是C:\Windows,则不会有向上两级的目录。出于这个原因,将日志路径放在配置文件中很有意义。
  • 好吧,ErrorLog.txt 我第一次使用时可以从头开始创建文件。但我也有一个 XML 文件,它为应用程序提供数据。在这种情况下我可以做什么?
  • 通常对于程序输入,我将文件保存在与可执行文件相同的目录中。然后为了部署,我将文件放在我的项目目录中,并确保为部署属性选择“复制”。然后应该在构建期间将该文件复制到适当的 bin 目录,并且可以从 bin/Release 复制 XML 文件以进行部署。如果您将输入文件放在不相关的目录中,那么您肯定希望将这些文件的路径或完整文件路径放在配置文件中。

标签: asp.net winforms forms app-config filepath


【解决方案1】:

我正在使用一个提供应用程序根文件夹地址的公共属性:

public string StartPath
{
  get{ return System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6); }
}

【讨论】:

    猜你喜欢
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    相关资源
    最近更新 更多