简体   繁体   English

如何获取 ClickOnce 创建的 Local App Data 文件夹中文件的路径

[英]How to get the path to a file in the Local App Data folder created by ClickOnce

I have a WPF project that I want to deploy via clickonce.我有一个 WPF 项目,我想通过 clickonce 进行部署。 I have a folder named "Data" with some files in it which will be created by clickonce in Local App Data folder when I install the application.我有一个名为“Data”的文件夹,其中包含一些文件,当我安装应用程序时,这些文件将通过在 Local App Data 文件夹中单击一次创建。 I want to access those files but I am unable to figure out how to do that .我想访问这些文件,但我无法弄清楚如何做到这一点。 The folder created by clickonce has some random name, it looks like this: "C:\\Users\\xxxxx\\AppData\\Local\\Apps\\2.0\\Data\\PG220ZY7.R26\\B0O5ZOCW.BX7\\oatr..tion_0000000000000000_0001.0000_73ac71b3d7a93fc2\\Data\\Data" clickonce创建的文件夹有一些随机名称,它看起来像这样:“C:\\Users\\xxxxx\\AppData\\Local\\Apps\\2.0\\Data\\PG220ZY7.R26\\B0O5ZOCW.BX7\\oatr..tion_0000000000000000000000000_0001.037a2d3_0001.007ac_33c\\2.0\\Data\\PG220ZY7.R26\\数据”

How can I access those files since I have no way to know what name the clickonce will assign to that folder?我如何访问这些文件,因为我无法知道 clickonce 将分配给该文件夹的名称? Thank you.谢谢你。

Check if application is network deployed if not will error.检查应用程序是否是网络部署的,否则会出错。 Then you can get the directory with ApplicationDeployment.CurrentDeployment.DataDirectory然后你可以使用ApplicationDeployment.CurrentDeployment.DataDirectory获取目录

Example from Microsoft来自微软的例子

        if (ApplicationDeployment.IsNetworkDeployed)
        {
            try
            {
                using (StreamReader sr = new StreamReader(ApplicationDeployment.CurrentDeployment.DataDirectory + @"\CSV.txt"))
                {
                    MessageBox.Show(sr.ReadToEnd());
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Could not read file. Error message: " + ex.Message);
            }

        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM