用clickonce在c#解决方案中部署外部文件

我在Visual Studio Express 2010 c#版中遇到了问题。 我有一个参考DLL的项目。 此DLL有一个外部Excel文件标记为生成操作=内容复制到输出目录=始终复制

当我构建解决方案时,此Excel文件已正确复制到BIN release解决方案文件夹中。

但是,如果我尝试使用“发布”向导部署相同的解决方案,则不会将Excel文件复制到安装目录中。

请帮帮我吗?


您是否说Excel文件仅由您在项目中包含的dll引用? 这是次要参考,ClickOnce不会看到它并自动包含该文件。

首先,在你的dll上,我假设它是由你的项目直接引用的。 如果是这样,那么一定要将其添加到项目中,并将生成操作设置为“无”,将“复制到输出目录”设置为“不要复制”。 然后删除对它的引用并重新添加它,将它指向现在包含在项目中的版本。 将“copy local”属性设置为“true”。 这将确保dll本身得到正确部署。

对于Excel文件,您将不得不将其添加到您的项目中。 将构建操作设置为“内容”并将“复制到输出目录”设置为“始终复制”。 它不会被自动包含,因为它是ClickOnce应用程序的辅助引用,而不是像dll那样的直接/主要引用。


为您的ClickOnce项目打开发布属性 。 然后点击'应用程序文件...'按钮。 这将启动一个对话框,您可以控制发布软件包中包含哪些文件。

为了让XLSX文件(或任何其他非生成文件)出现在该对话框中,您需要在属性窗口的构建操作中标记为“内容”


尝试将此文件包含到解决方案中,并将“复制到输出目录”设置为“始终复制”

链接地址: http://www.djcxy.com/p/65991.html

上一篇: Deploy external file in c# solution with clickonce

下一篇: Loss of referenced dll in ClickOnce publish after signing main .exe