指定通过 ClickOnce 发布的文件
发布 ClickOnce 应用程序时,项目中的所有必需文件将与应用程序一起部署。 默认的必需文件集由项目类型(例如 Windows 窗体应用)确定。 在某些情况下,你可能不希望或不需要发布某些文件,或者你可能想要根据条件安装某些文件。 Visual Studio 提供了多种功能,可用于包含文件、排除文件、将文件标记为数据文件或系统必备组件,以及创建文件组以进行条件安装。
ClickOnce 应用程序的文件通过“应用程序文件”对话框管理,可以从“项目设计器”的“发布”页进行访问。
最初,只有一个名为“(必需)”的文件组。 你可以创建其他文件组并向其分配文件。 对于应用程序运行所需的文件,不能更改“下载组”。 例如,应用程序的 .exe 文件或标记为数据文件的文件必须属于“(必需)”组。
文件的默认发布状态值用“(自动)”进行标记。 例如,默认情况下,应用程序的 .exe 文件的发布状态为“包含(自动)”。
“生成操作”属性设置为“内容”的文件被指定为应用程序文件,并且默认将被标记为“已包含”。 它们可以被包含、排除,或被标记为数据文件。 下面列出了例外情况:
数据文件,如 SQL 数据库(.mdf 和 .mdb)文件和 XML 文件将被默认标记为数据文件。
对程序集(.dll 文件)的引用在你添加引用时被指定如下:如果“本地复制”为“False”,它默认被标记为系统必备程序集(“系统必备(自动)”),在安装应用程序之前必须存在于 GAC 中。 如果“本地复制”为“True”,则默认情况下,程序集被标记为应用程序的程序集(“包含(自动)”),并将在安装时被复制到应用程序文件夹中。 只有当一个 COM 引用的“独立”属性被设置为“True”时,它才会出现在“应用程序文件”对话框中(作为一个 .ocx 文件)。 默认情况下,它将被包括在内。
将文件添加到“应用程序文件”对话框
在“解决方案资源管理器”中,选择一个数据文件。
在“属性”窗口中,将“生成操作”属性更改为“Content”值。 。
从 ClickOnce 发布中排除文件
在“解决方案资源管理器” 中选择了项目的情况下,在“项目” 菜单上单击“属性” 。
单击“发布”选项卡。
注意
在适用于 .NET Core 3.1 和 .NET 5(或更高版本)的 ClickOnce 中,需要使用“发布”工具(而不是“发布”向导和项目设计器的“发布”页)来设置部署属性。 有关详细信息,请参阅使用 ClickOnce 部署 .NET Windows 应用程序和 ClickOnce for .NET。
单击“应用程序文件”按钮以打开“应用程序文件”对话框 。
在“应用程序文件”对话框中,选择要排除的文件。
在“发布状态”字段的下拉列表中,选择“排除”。
将文件标记为数据文件
在“解决方案资源管理器” 中选择了项目的情况下,在“项目” 菜单上单击“属性” 。
单击“发布”选项卡。
单击“应用程序文件”按钮以打开“应用程序文件”对话框 。
在“应用程序文件”对话框中,选择要标记为数据的文件。
在“发布状态”字段的下拉列表中,选择“数据文件”。
将文件标记为系统必备组件
在“解决方案资源管理器” 中选择了项目的情况下,在“项目” 菜单上单击“属性” 。
单击“发布”选项卡。
单击“应用程序文件”按钮以打开“应用程序文件”对话框 。
在“应用程序文件”对话框中,选择要标记为系统必备组件的应用程序程序集(.dll 文件)。 请注意,应用程序必须具有对应用程序程序集的引用,才能使其显示在列表中。
在“发布状态”字段的下拉列表中,选择“必备组件”。
添加新的文件组
在“解决方案资源管理器” 中选择了项目的情况下,在“项目” 菜单上单击“属性” 。
单击“发布”选项卡。
单击“应用程序文件”按钮以打开“应用程序文件”对话框 。
在“应用程序文件”对话框中,选择要包含在新组中的文件的“组”字段。
注意
在文件名出现在“应用程序文件”对话框中之前,文件的“生成操作”属性必需设置为“Content”。
在“下载组”字段的下拉列表中,选择“<新建...>”。
在“新建组”对话框中,输入组的名称,然后单击“确定”。
向组中添加文件
在“解决方案资源管理器” 中选择了项目的情况下,在“项目” 菜单上单击“属性” 。
单击“发布”选项卡。
单击“应用程序文件”按钮以打开“应用程序文件”对话框 。
在“应用程序文件”对话框中,选择要包含在新组中的文件的“组”字段。
在“下载组”字段的下拉列表中,选择一个组。
注意
对于应用程序运行所需的文件,不能更改“下载组”。