首页 / 知识
关于Winforms:创建ClickOnce部署的最佳方法是什么
2023-04-12 19:06:00

What's the best way to create ClickOnce deployments我们的团队开发分布式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进行部署。 |
最新内容
相关内容
python有map方法吗
python有map方法吗,培训,位置,数据,函数,列表,序列,参数,元素,方法,使用方法,python中的map:map()会根据提供的函数对指定序列做映射。第一个python有哪些方法可以解压文件?
python有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大。python类自带方法吗
python类自带方法吗,培训,方法,里面,实例,也就是说,下面,对象,以上,之后,参数,python中的类,创建好之后,里面是没有方法的,也就是说,类并没有自带python子类可以调用父类方法吗
python子类可以调用父类方法吗,培训,名称,资料,情况,地方,函数,参数,方法,表示,语句,python中的子类中的__init__()函数会覆盖父类的函数,一些python静态方法怎么使用self
python静态方法怎么使用self,培训,管理,不了,方法,静态,属性,实例,变量,对象,参数,python-静态方法,类方法,属性方法静态方法实际上与类(或者实python怎么理解Python的构造方法
python怎么理解Python的构造方法,代码,名字,培训,方法,参数,对象,以上,结尾,函数,开头,在创建类时,我们可以手动添加一个__init__()方法,该方法python列表操作的函数和方法
python列表操作的函数和方法,培训,位置,列表,元素,操作,函数,末尾,方法,对象,以下,1列表操作包含以下函数:21、cmp(list1,list2):比较两个列表python怎么调用类方法
python怎么调用类方法,培训,方法,实例,静态,定义,参数,属性,对象,关键字,以上,python中的类用来描述具有相同的属性和方法的对象的集合。它定python判断字符串是否为小数的方法
python判断字符串是否为小数的方法,培训,代码,合法,小数点,小数,整数,字符串,方法,右边,左边,python想判断一个字符串是不是一个合法的小数,但python可以继承父类方法吗
python可以继承父类方法吗,培训,代码,名字,方法,动物,属性,编译器,这样的话,定义,里面,python继承,调用父类属性方法在python里面,继承一个类python函数的高级使用方法
python函数的高级使用方法,代码,函数,灵活,数据,培训,时间,定义,程序,赋值,变量,Python的函数是“一等公民”,因此函数本身也是一个对象,函数既python私有方法是什么
python私有方法是什么,培训,公开,代码,方法,属性,变量,函数,前面,成员,法名,Python默认的成员函数和成员变量都是公开的,Python私有属性和方法