Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#XML动态数据库文件位置_C#_.net_Xml - Fatal编程技术网

C#XML动态数据库文件位置

C#XML动态数据库文件位置,c#,.net,xml,C#,.net,Xml,我有一个VS2017 C#Windows窗体应用程序,可以读取/写入XML文件。当前使用路径引用调用该文件: Application.StartupPath + @"\Database.xml" 在开发期间驻留在文件夹路径[…\bin\Debug]中的 我已经创建了一个安装程序,将文件放在用户应用程序数据文件夹中 我的问题如下:在开发过程中,ProgramData文件夹不存在,因此我无法为文件位置引用此路径。保留此path location变量并在运行时确定路径位置的正确方法是什么。我还应该将

我有一个VS2017 C#Windows窗体应用程序,可以读取/写入XML文件。当前使用路径引用调用该文件:

Application.StartupPath + @"\Database.xml"
在开发期间驻留在文件夹路径[…\bin\Debug]中的

我已经创建了一个安装程序,将文件放在用户应用程序数据文件夹中

我的问题如下:在开发过程中,ProgramData文件夹不存在,因此我无法为文件位置引用此路径。保留此path location变量并在运行时确定路径位置的正确方法是什么。我还应该将xml文件作为项目树的一部分添加(添加->现有项…)


感谢您提供的指导。

我不确定您为什么要将文件放在ProgramData文件夹中,因为您提到的文件夹是在部署您放置可执行文件的位置之后。将其视为最接近的路径,从而使用可执行文件。这样,您就不必担心部署和开发之间的差异

关于您关于添加文件的观点,这并不重要,只要位置对您方便,并且可以调用您的应用程序


希望这有帮助。

信息丰富吗?感谢您的输入。我希望将文件移动到ProgramData文件夹的原因是访问权限。应用程序必须以管理员身份运行,才能绕过对Program Files文件夹的任何访问冲突。存储数据的位置并不重要。用户可能无法写入程序文件或可执行文件夹。如果它是可写的,多个用户可以覆盖彼此的数据。如果修复应用程序,可执行文件夹可以被擦除或替换。使用;返回包含所需文件夹的路径。