创建ClickOnce部署的最佳方法是什么
时间:2020-03-05 18:41:41 来源:igfitidea点击:
我们的团队开发分布式winform应用程序。我们使用ClickOnce进行部署,对此感到非常满意。
但是,我们发现ClickOnce的痛苦在于创建部署。我们拥有标准的开发/测试/生产环境,并且需要能够为每个单独安装和更新的部署创建部署。另外,我们希望控制要部署的程序集。仅仅因为程序集已编译并不意味着我们要对其进行部署。
Visual Studio是创建部署的显而易见的首选。但是,VS确实不能解决上述问题。下一个是SDK工具Mage。 Mage可以正常工作,但是创建部署非常繁琐,我们不希望每个开发人员都拥有我们的代码签名证书和密码。
我们最终要做的是滚动我们自己的部署应用程序,该应用程序使用命令行版本的Mage创建ClickOnce清单文件。
我对我们当前的解决方案感到满意,但似乎将有一个业界公认的方法来解决此问题。在那儿?
解决方案
回答
我会考虑使用msbuild。它内置了用于处理clickonce部署的任务。如果我们想走这条路,我提供了一些参考资料,可以入门。这是我使用的工具,我发现它可以满足我的需求。通过使用msbuild的良好构建过程,我们应该能够缓解自己的痛苦。
这是有关ClickOnce清单生成如何与MsBuild一起使用的详细信息。
回答
我使用nAnt运行整体构建策略,但是将参数传递到MSBuild中以编译和创建部署程序包。
基本上,nAnt针对需要部署到的每个环境调用MSBuild,并为每个环境生成单独的部署输出。我们最终得到一个文件夹以及每种环境所需的所有ClickOnce文件,我们可以将其复制到服务器中。
这也是我们处理多个生产环境的方式-我们在美国,加拿大和欧洲拥有单独的应用程序实例,因此每个构建最终将创建9个部署,每个分别针对dev,qa和prod进行部署。