C# 将XML文件设置为启动路径

C# 将XML文件设置为启动路径,c#,xml,startup-folder,C#,Xml,Startup Folder,我有一个带有XML文件的C#windows应用程序。安装设置文件后,我需要不时编辑XML文件。但是我的XML文件不会指向可执行文件所在的路径。 这就是错误。 在一个程序中,我得到了如下XML路径 private string PATH = Path.Combine(Application.StartupPath, "XMLFile1.xml"); 请有人能建议一种方法 您必须将其包含在项目中。这里有一个有用的链接:如果您在Windows Vista、7或8上安装了应用程序,则很可能会出现安全异

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

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

请有人能建议一种方法

您必须将其包含在项目中。这里有一个有用的链接:

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

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


他建议您将XML移动到
%appdata%
%localappdata%
使用
应用程序。ExecutablePath
应用程序。如果您的应用程序是从桌面快捷方式或任何其他快捷方式启动的,则StartupPath
属性将更改

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

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

最好将公用文件夹用作本地应用程序数据文件夹

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

@鬼答案这是一个不好的编辑建议,不应该被批准-你只是在没有必要的地方添加了反勾号,并且没有解决文本中的其他问题。下次请多加注意。最好将XML文件保存在某个公共位置。为什么不将XML文件放在可执行文件所在的同一目录中?您只需将xml文件添加到安装程序并复制到同一位置即可。只需一个指针:您应该很好地设置链接的格式,即使用链接页面的标题并将该标题设置为链接的格式。我在通过exe打开程序时遇到此错误。System.IO.FileNotFoundException:找不到文件“C:\Users\Thameera\AppData\Local\Apps\2.0\RBCOECTY.PHY\GPGXMYG8.WOK\fish..tion_811dfca5da066d3a_0001.0000_5e3e1ef3b3246\XMLFile1.xml”。文件名:“C:\Users\Thameera\AppData\Local\Apps\2.0\RBCOECTY.PHY\GPGXMYG8.WOK\fish..tion_811dfca5da066d3a_0001.0000_5e3e1ef3b4246\XMLFile1.xml”位于System.IO.\uuu Error.WinIOError(Int32错误代码,字符串可能为fullpath)