单击一次安装后丢失文件

Missing files after Click Once Installation

我们有一个结构类似的项目:

在这种情况下,项目 B 是我们的主要项目,包括项目 A。当我构建和 运行 时一切正常。它也可以正常工作,在我将应用程序发布到一个简单的文件夹中并将其复制并粘贴到另一台机器后。

由于我们要将应用程序部署到网络驱动器上,并希望应用程序自动更新,我们希望使用“ClickOnce”(很遗憾,Azure 和 Docker 没有选项)。当我单击“发布”时,一切都按预期工作,我得到了所有文件,当我将它们移动到网络驱动器时,我可以轻松地在设备上安装应用程序(它们还会检查更新)。

我遇到的唯一问题是:项目 A 中的“附加文件”文件夹在安装过程中没有被复制!这意味着应用程序无法使用这些文件并且无法运行。在 Visual Studio 中,我将那些文件 Copy to Output Directory 设置为 Copy always。此外,我曾尝试更改 Build Action,但没有用。如果我检查发布的输出,文件夹就在那里。它只是在安装过程中没有被复制。

有什么方法可以让 ClickOnce 安装程序在安装过程中也移动此文件夹吗?

我找到了解决方案。从文档 (https://docs.microsoft.com/en-us/visualstudio/deployment/how-to-specify-which-files-are-published-by-clickonce?view=vs-2019) 中阅读了这个(过时的)指南后,我终于弄明白了。

创建或编辑发布配置文件时,当您到达 Settings 点时,您可以通过单击 Application Files 按钮来包含文件。出于某种奇怪的原因,这些文件一开始甚至是不可见的。但是在按下 Show all files 之后,我看到那些文件被排除在外。我将其更改为包含,现在一切正常。