2010-07-07 88 views
5

在编码过程中,我在bin \ Debug文件夹中有一些文件,声音文件(.wav和.mp3)和文本文件(.rtf),但是在发布之后无处可查。如何使用clickonce应用程序部署文件?

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

文本* .rtf文件我加载到该应用程序我的帮助形式RichTextBox控件。

我有他们的属性设置为内容和复制如果较新。

回答

7

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

另外,如果是万万没有想到的文件来改变你可以考虑嵌入您的文件到您的DLL作为一种资源的客户端应用程序。

+0

谢谢,@Bronumski。但我的另一个问题是,我将我的项目导入在线svn存储库。然后我检查了我的工作副本。现在,这些文件(如Visual Studio解决方案资源管理器中所显示的)没有文件类型特定的图标,并且在属性窗口中未显示“生成操作”和“复制到输出目录”属性。 – systemovich 2010-07-07 19:48:53

+1

我只需为bin \ Debug文件夹中的文件副本设置“Content”和“Copy to Output Directory”,并将“\ bin \ Debug”连接到Application.StartupPath以加载文件的代码。谢谢。 – systemovich 2010-07-07 20:20:24

1

我不清楚 - 你有没有在Visual Studio中将这些文件添加到你的项目中?如果是这样,请将它们添加到csproj文件所在的顶层,或将它们放在其下的文件夹中(它们将部署在相同的相对路径中)。我绝对不会包含\ bin \ debug文件夹中的文件。您可以在一段时间内轻松擦除\ bin文件夹,然后他们就可以继续。我不确定你是否这样做,但听起来像是你。

如果你把它们放在你的项目的顶层,他们将在您的部署的顶层。如果你把它们放在一个文件夹中,它们将处于相对路径。将Build Action设置为“内容”,并将“复制到输出目录”设置为“始终复制”。

+0

我也有顶层的文件,但他们的“生成操作”和“复制到输出目录”属性不会出现在属性窗口中。在解决方案资源管理器中,这些文件也没有文件类型特定的图标,而是默认的“带有右耳边和带有折线边界的白页”图标。以下是在解决方案资源管理器中选择Alarm_Clock_Help.rtf文件的屏幕截图:http://tinyurl.com/39lqo45 – systemovich 2010-07-10 11:13:54

+0

我之前的评论引用。我发现原因是我使用Windows资源管理器复制了这些文件。我现在使用Visual Studio菜单中的“Project> Add Existing Item ...”将这些文件添加到项目中,并且它们具有正确的图标和正确的属性。 – systemovich 2010-07-10 12:23:49

+0

我在想你可能已经做到了。我认为你可以右击它们并选择“包含在项目中”,它也会将它们添加到项目中。那么这些文件现在是否成功部署? – RobinDotNet 2010-07-11 20:41:45

相关问题