【问题标题】:Set XML file to startup path将 XML 文件设置为启动路径
【发布时间】:2014-03-11 05:06:16
【问题描述】:

我有带有 XML 文件的 C# windows 应用程序。安装设置文件后,我需要不时编辑 XML 文件。但是我的 XML 文件不会转到可执行文件所在的路径。 所以这是错误的。 在一个程序中,我得到了这样的 XML 路径。

private string PATH = Path.Combine(Application.StartupPath, "XMLFile1.xml");

请有人可以建议一种方法。

【问题讨论】:

  • @Ghost 回答这是一个错误的编辑建议,不应该被批准 - 您只是在不需要的地方添加了反引号,并且没有解决文本中的其他问题。下次请多加注意。
  • 最好将 XML 文件保存在某个常用位置
  • 为什么不把 xml 文件放到可执行文件所在的同一目录中呢?您可以简单地将 xml 文件添加到设置中并复制到同一位置

标签: c# xml startup-folder


【解决方案1】:

如果您在 Windows Vista、7 或 8 上安装了应用程序,则很可能会遇到安全异常。既然你没有告诉你会犯什么样的错误,我只好让我的水晶球和我一起思考。

他认为,因为您试图在受保护的文件夹中写入,所以您会遇到异常。

他建议您将 XML 移至 %appdata%%localappdata%

【讨论】:

  • 通过 exe 打开程序时出现此错误。 System.IO.FileNotFoundException:找不到文件“C:\Users\Thameera\AppData\Local\Apps\2.0\RBCOECTY.PHY\GPGXMYG8.WOK\fish..tion_811dfca5da066d3a_0001.0000_5e3e1ef3b3b42246\XMLFile1.xml”。文件名: System.IO.__Error.WinIOError(Int32 errorCode,字符串可能全路径)
【解决方案2】:

使用Application.ExecutablePath,如果您的应用从桌面快捷方式或任何其他快捷方式启动,Application.StartupPath 属性将发生变化。

private string PATH = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "XMLFile1.xml");

【讨论】:

    【解决方案3】:

    您必须将其包含在项目中。这是一个有用的链接:How to include XML file while creating setup file for windows application

    【讨论】:

    • 只是一个指针:您应该很好地格式化您的链接,即使用您要链接到的页面的标题并将该标题格式化为链接。
    【解决方案4】:

    当您的应用程序启动时,将您的 XML 文件复制到公共文件夹路径(如果该路径中不存在)。对公用文件夹中的 xml 文件进行编辑。

    最好使用公共文件夹作为本地应用程序数据文件夹

    Path.Combine(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Your application name") 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多