C# 单击一次应用程序用户设置位置

C# 单击一次应用程序用户设置位置,c#,clickonce,C#,Clickonce,我目前正在开发一个ClickOnce应用程序,它将CSV文件转换为数据库更新。该程序要求用户能够更改数据库更改的配置文件,并更改填充应用程序下拉列表的XML文件 现在我了解到,这些文件保存在user/appdata文件夹中,以确保具有正确的权限,但我对这些文件夹的名称或保存位置是否有任何影响 默认情况下,文件保存在AppData\Local\Apps\2.0\LD7ZEJK0.7AE\NJ42PEPW.1QX\csvt…exe_169e1a4011fbe7ec_0001.0000_none_04

我目前正在开发一个ClickOnce应用程序,它将CSV文件转换为数据库更新。该程序要求用户能够更改数据库更改的配置文件,并更改填充应用程序下拉列表的XML文件

现在我了解到,这些文件保存在user/appdata文件夹中,以确保具有正确的权限,但我对这些文件夹的名称或保存位置是否有任何影响

默认情况下,文件保存在
AppData\Local\Apps\2.0\LD7ZEJK0.7AE\NJ42PEPW.1QX\csvt…exe_169e1a4011fbe7ec_0001.0000_none_04507fe9e077ae84


我可以把它改成
Documents\CSV\u Files
或类似的格式吗?如果我这样做了,我将如何在配置文件中引用XML文件,以便程序知道它在哪里?

通常,您不必自己关心位置。只需在ClickOnce清单中将您的XML文件标记为数据,然后使用众所周知的

ApplicationDeployment.CurrentDeployment.DataDirectory

这里有一篇MSDN文章对此进行了描述:

我不会在实际的ClickOnce部署目录中存储任何在更新时需要保留的重要数据,这太危险了。您应该将这些文件复制到ApplicationData并在那里访问它们。告诉你怎么做

谢谢马格努斯,看起来还可以。但是我需要访问配置文件来更改连接字符串。如果我把程序交给其他人,他们把它用于他们的数据库,我只想用一种简单的方法找到要编辑的文件。它应该只需要第一次编辑。嗯,也许我有点糊涂,但我看不出有什么问题。从已知位置读取文件,对其执行所需操作,然后将其保存回原处。这不是你要问的吗?它们总是相同的文件夹名称吗?它们在我的comp上,但是如果它们被移动到另一台机器上呢?Clickonce安装实际上并不意味着要在机器之间移动。