C# 构建软件补丁的良好实践是什么?

C# 构建软件补丁的良好实践是什么?,c#,build,teamcity,nant,patch,C#,Build,Teamcity,Nant,Patch,我最近负责了一个软件产品,该产品的发展相当无序,我使用nant和teamcity建立了一个新的项目结构、一个源代码存储库、问题跟踪和一个构建系统。我正处在这样一个时刻:对一个主要分支的每个提交都会被编译、测试并构建到一个设置中 总是构建和发布完整的设置对我来说似乎是错误的,我想建立某种自动补丁构建,但我不知道如何做到这一点。你有什么建议我怎么做,或者在哪里可以找到关于这个话题的信息?谷歌到目前为止帮不了什么忙 有关我当前设置的更多详细信息: 存储库: -吉特: --2个主要分支:发展和硕士 构建

我最近负责了一个软件产品,该产品的发展相当无序,我使用nant和teamcity建立了一个新的项目结构、一个源代码存储库、问题跟踪和一个构建系统。我正处在这样一个时刻:对一个主要分支的每个提交都会被编译、测试并构建到一个设置中

总是构建和发布完整的设置对我来说似乎是错误的,我想建立某种自动补丁构建,但我不知道如何做到这一点。你有什么建议我怎么做,或者在哪里可以找到关于这个话题的信息?谷歌到目前为止帮不了什么忙

有关我当前设置的更多详细信息:

存储库: -吉特: --2个主要分支:发展和硕士

构建系统: -团队城市 -2种配置:每个分支建筑一种 -生成只包含一个生成步骤: --nant runner:nant脚本是存储库的一部分,包含以下目标:清理、初始化、编译、测试、部署、构建设置(使用inno设置)


我想我必须将nant脚本分割成若干部分,并使用不同的构建步骤以某种方式将新的构建工件与旧的工件进行比较,并创建一个包含更新文件的补丁。我的思路是否正确?如果是这样,是否有人知道如何设置teamcity的好例子或教程。

除非您拥有的是一个巨大的数兆字节最终用户应用程序,否则生成补丁(我认为您希望最小化)是一项艰巨的任务,因为您必须提供从每个早期版本到最新版本的修补程序

或者,您可以投资于自动更新基础设施,这样每当发布新版本时,应用程序都会自我更新


至于为每次提交构建设置,我个人认为这是不必要的,除非您不断地测试设置程序本身。相反,无论何时发布,都应该手动触发完整版本。

您应该查看类似Microsoft的更新/补丁。

它是一个约250MB的最终用户应用程序,但大小来自各种示例文件、教程和第三方依赖项。关于总是建立一个设置:IMHO最好是提供你最新的、最无错误的软件版本,因为作为一个软件用户,我总是想知道为什么我刚刚下载并安装的全新软件必须下载补丁。自动更新系统不下载并安装修补程序吗?