0

我的 VStudio 是 2019 社区,该应用程序是从 .Net-3.5-ish 到 .Net-5 的旧 VB Windows/Forms 应用程序。

在 .Net-4.8 或更早版本下,使用命名空间 System.Deployment.Application,可以访问ApplicationDeployment.DataDirectory 以定位人工生成的目录\Users\Username\AppData\Local\Apps\2.0\...,一键安装将创建并填充来自项目构建/发布的数据文件。

在 .Net-5 下,我相信特定的一组功能已被删除——但 ClickOnce 安装程序仍将数据文件放置在那里。如何以编程方式定位该目录?应用程序路径可以从System.AppContext.BaseDirectory定位,但这无助于定位数据。

这个应用程序,一个旧的 VB 代码,有大量的应用程序数据文件需要与代码一起安装。由于其中有 40 多个,我们将它们保存在自己的\Data目录中,该目录包含在项目中,受 Git 控制,以使其版本与代码保持一致......

在已卸载的应用程序中,我们可以将此 \Data 目录与可执行文件相邻,并在运行时轻松找到它:但是对于已安装 ClickOnce 的应用程序,它会分崩离析。在 Publish 配置中,所有数据文件都被标识,Group=Required,Publish Status=DataFile。

我可以:

  1. 轻松配置一键式安装程序,将我们的 \Data 目录及其内容放入标准 \Local\Appname 或 \Roaming\Appname 目录之一,这些目录似乎也已创建,但留空?这些可以在运行时轻松定位。

  2. 在运行时轻松构建 1-click 通常创建并用于数据的晦涩数据目录的路径?

干杯,谢谢!鲍勃

4

0 回答 0