如何在 ClickOnce 部署中包含许多附加文件?
Posted
技术标签:
【中文标题】如何在 ClickOnce 部署中包含许多附加文件?【英文标题】:How do you include many additional files with ClickOnce deployment? 【发布时间】:2016-03-27 01:26:29 【问题描述】:我正在尝试将我的第一个 WPF、C# 应用程序部署到许多桌面。对于案例数据库中的大多数记录,我想将其与数据库分开存储,并在按下按钮时显示(PDF 文件名等于 ID 号)。它是一个仅限搜索的程序,用户不会将任何数据保存回数据库。大约有 32,000 个 pdf,而且这个数字还会增长。当我尝试在项目中列出这些文件并使用 ClickOnce 部署 VS 时说我已经超过了最大清单大小。
有没有办法使用 ClickOnce 部署我的应用程序,然后使用某种类型的安装后命令复制文件?谢谢。
【问题讨论】:
【参考方案1】:将文件添加到您的项目中。将构建操作标记为Content
,将Copy to local directory
标记为Always
。然后它将在您的部署中包含这些文件。
您还可以检查“应用程序文件”对话框以查看它们是否存在。如果文件的文件扩展名是 XML 或其他表示数据的文件,您希望将选项从 Include(Data)
更改为 Include
或 Include(Required)
。如果您将文件作为数据包含在内,则在部署后将其放入 DataDirectory。
2。将文件标记为数据文件
在解决方案资源管理器中选择项目后,在“项目”菜单上单击“属性”。 单击“发布”选项卡。 单击“应用程序文件”按钮打开“应用程序文件”对话框。 在“应用程序文件”对话框中,选择要标记为数据的文件。 在“发布状态”字段中,从下拉列表中选择“数据文件”。3。将文件标记为先决条件
在解决方案资源管理器中选择项目后,在“项目”菜单上单击“属性”。 单击“发布”选项卡。 单击“应用程序文件”按钮打开“应用程序文件”对话框。 在“应用程序文件”对话框中,选择您希望标记为先决条件的应用程序程序集(.dll 文件)。请注意,您的应用程序必须引用应用程序程序集才能显示在列表中。 在发布状态字段中,从下拉列表中选择先决条件。Source: MSDN - How to: Specify Which Files Are Published by ClickOnce
【讨论】:
您是否曾经对 32,000 个文件进行过此操作?我确实尝试过这个,但是它让 VS 挂了很长时间,然后有一条消息说我的清单中超过了最大值,这让我觉得以这种方式包含的文件太多了。我希望这能奏效,因为它肯定会让生活变得轻松。 我相信这些说明仅适用于一次添加一个文件。这对于一些文件来说是可以的,但对于许多文件来说它变得难以处理。无法在“发布/应用程序文件...”对话框中选择多个文件并将它们全部标记为“数据”(例如)。 AFAIK 的唯一方法是在文本编辑器中编辑应用程序项目文件,并为要发布的文件名显式生成 xml。不幸的是,如果您超出清单限制,这将无济于事,但如果您想添加数百个文件,它确实有效。以上是关于如何在 ClickOnce 部署中包含许多附加文件?的主要内容,如果未能解决你的问题,请参考以下文章
在 clickOnce 安装中包含 ACE OLEDB 12 驱动程序
如何在“sbt dist”在目标/通用内部生成的脚本文件夹中包含一个附加文件?