我正在开发一个大型的一次点击应用程序(150MB,> 200个DLL),作为交互式调试过程的一部分,我想只更新1个DLL并重新启动应用程序,而无需重新构建和重新部署整个应用程序.
那可能吗?如果是这样......怎么样?
问题澄清: 2009年9月26日
我知道可以在下载整个应用程序后手动修补客户端上的DLL,然后直接从本地缓存文件夹启动客户端.EXE.这不是重点.我想知道如何在服务器上更改/添加DLL,并让所有客户端在下次启动时获取新的DLL.我正在寻找一个"将DLL复制到此文件夹并编辑此文本文件"的答案,如果可能的话.我特别不希望在服务器上重建或重新部署单击一次安装...只需用我在IDE中编译的单个DLL手动修补它.
我已经与它斗争了几天,它可以完成,但它很繁琐,使用此解决方案ClickOnce仍会扫描所有文件并显示进度条,但只下载并更新更改.
以下是我编写的应用此修补方法的过程...
请注意,此过程需要使用要升级的Click once部署的精确副本进行.
在Application Files文件夹中......
更改版本号
替换已修补的文件注意:文件使用文件名重命名.deploy例如,Control.DLL变为control.DLL.Deploy
在根路径中
将.application复制到Application Files文件夹* 注意:此步骤不是必需的,只是保持备份文件相关.
现在可以将清单文件和修补库复制到您的部署环境中.