如何使用clickonce应用程序部署文件?

时间:2010-07-07 09:21:49

标签: .net clickonce resources

我在编码期间在bin \ Debug文件夹中有一些文件,声音文件(.wav和.mp3)和文本文件(.rtf),但在发布之后,它们无处可寻。

我的应用程序可以播放声音文件,这些是应该与Application.Startup路径中的应用程序一起安装的默认声音文件。

文本* .rtf文件我加载到应用程序的帮助表单中的RichtextBox控件。

我将其属性设置为Content and Copy if New。

2 个答案:

答案 0 :(得分:7)

您需要将这些文件设置为内​​容(如您所示),以便将它们复制到bin文件夹中。然后打开项目属性页面,选择“发布”选项卡,然后单击“应用程序文件...”。您现在应该看到与项目相关的文件列表以及指示应如何发布它们的值。您的文件很可能已被标记为数据,并且将发往您的ClickOnce应用程序数据文件夹而不是bin文件夹。更改代码以使用ClickOnce数据文件夹(有辅助方法)或确保选择“包含”而不是“数据文件”。

或者,如果客户端应用程序上的文件永远不会发生变化,您可以考虑将文件作为资源嵌入到dll中。

答案 1 :(得分:1)

我不清楚 - 您是否已将这些文件添加到Visual Studio中的项目中?如果是这样,请将它们添加到csproj文件所在的顶层,或者将它们放在那里的文件夹中(它们将部署在相同的相对路径中)。我绝对不会包含\ bin \ debug文件夹中的文件。你可以轻松地擦掉你的\ bin文件夹,然后就可以了。我不确定你是那样做的,但听起来就像你一样。

如果将它们放在项目的顶层,它们将位于部署的顶层。如果将它们放在一个文件夹中,它们将处于相对路径中。将Build Action设置为“content”,我将“copy to output directory”设置为“always always”。