如果您的模块化应用程序依赖于其模块位于单独的库中(dlls
)。
什么样的重新 - 部署 策略会很好吗?
使用Visual Studio中提供的Setup Project
安装应用程序。
我想避免复制和粘贴方法!
答案 0 :(得分:2)
绕过复制和粘贴方法的最简单方法是将您的应用程序部署为smart client application。这样你只需将新的dll放在一个地方,下次重启每个应用程序时,它将下载新的程序集。
答案 1 :(得分:0)
在一个包含大约30个单独模块的大型项目中,我构建了一个小型“更新程序”应用程序,这是一个由Windows表单和大约3个代码文件组成的小应用程序。我使用.NET的ClickOnce技术将其部署到客户端。每当我必须“更新更新程序”(这是2年一次)时,我只是推出了一个新的ClickOnce清单,客户端在下次登录时就获得了它。
更新程序在运行时从部署服务器下载了一个XML清单,其中包含构成完整应用程序的二进制文件和库的列表,以及每个二进制文件的日期/时间和大小。然后,它将这些文件与本地文件系统进行比较,以确定需要更新的内容,并下拉所需的文件。
然后,它将清单上的文件列表与本地文件系统进行比较,删除不应存在的任何文件,并执行主应用程序的可执行文件。
这种方法对我们很有用,因为我还在主应用程序中使用相同的逻辑在后台进行更新,因此用户可以在建议安装新的更新时重新启动应用程序。