我有一个应用程序是一个带有一堆MEF部件的shell.虽然用户可以在其文件系统中的某些特殊位置添加新的MEF部件,但应用程序本身需要自行部署大约5或6个这些库才能正常工作.我想使用click-once来进行部署.做这个的最好方式是什么?
我能想到的最简单的事情就是在IDE中引用DLL并将它们标记为内容.然后他们将被部署.这意味着硬编码的文件路径(调试/发布等).所以似乎应该有更好的方法.
第二个命令是将刚刚构建的MEF dll版本复制到一个公共目录,并始终引用项目中的那些并将它们标记为"内容".
我已经看到了在另一个问题中创建可再发行组件的参考(部署MEF部件).最终的解决方案看起来很像将所有内容复制到一个目录,压缩它,然后在客户端上解压缩 - 这基本上就像"内容"一样明确引用在我的想法中(我认为).
其他选择?提前谢谢了!
我有一个可以访问各种第三方库的应用程序。最初,当我通过 ClickOnce 发布我的应用程序时,它的大小约为 22Mb,并且由于它是初始版本,因此我必须在用户群使用它的头几个月内发布相当多的更新。
对于当时数据连接速度相当慢的一些用户来说,这数据量太大了。我必须找到更好的解决方案。
我最终创建了一个名为My ClickOnce Application - 先决条件的虚拟 Visual Studio 解决方案。在该项目中,我添加了应用程序所需的所有第三方依赖项,并添加了一个 MSI 安装程序项目,用于在 Windows GAC 中安装库。构建 MSI 安装程序后,我创建了引导程序并将其添加到 Visual Studio for ClickOnce
在我的 ClickOnce 应用程序项目中,我所要做的就是在 Visual Studio 中选择新的先决条件,并在 VS 的“应用程序文件”对话框中将每个关联的 dll 设置为“先决条件”。
我认为这样的设置可能适合你。有关此类设置的更多详细信息,请查看下面列出的链接。这种方法的唯一主要缺点是,如果您需要更新第三方库,则需要分发先决条件的更新版本。这很可能意味着卸载并重新安装 ClickOnce 应用程序,因为库文件是作为先决条件安装的。
进一步阅读
归档时间: |
|
查看次数: |
997 次 |
最近记录: |