C#组装版本导致应用程序部署期间出现问题。最佳实践?

C#组装版本导致应用程序部署期间出现问题。最佳实践?,c#,git,deployment,C#,Git,Deployment,我们在部署期间面临着一个挑战,我在网上寻找了最佳实践/解决方案,但还没有找到任何突出的好主意 美国的背景 我们在AssemblyInfo.cs中使用[assembly:AssemblyVersion(“2.3.*”)] 我们使用Git并遵循Git流来执行分支策略 我们的开发/测试过程 Sprint8结束了,开发团队有了一个QA构建,如果它通过了,那么它将被提升到暂存环境,并最终升级到生产环境 首席开发人员在Git中剪切一个发布分支(名为“release/2.3”),并使用“Developm

我们在部署期间面临着一个挑战,我在网上寻找了最佳实践/解决方案,但还没有找到任何突出的好主意

美国的背景
  • 我们在AssemblyInfo.cs中使用
    [assembly:AssemblyVersion(“2.3.*”)]
  • 我们使用Git并遵循Git流来执行分支策略
我们的开发/测试过程
  • Sprint8结束了,开发团队有了一个QA构建,如果它通过了,那么它将被提升到暂存环境,并最终升级到生产环境
  • 首席开发人员在Git中剪切一个发布分支(名为“release/2.3”),并使用“Development”发布配置发布web应用程序。此版本分配为版本2.3.1234.56789(由AssemblyVersion提供)。开发人员让QA知道2.3.1234.56789已准备好进行测试。开发团队继续在“开发”分支中的Sprint9中工作
  • 候选版本通过QA,QA团队对2.3.1234.56789表示赞许
我们的问题就从这里开始。。。。 我们现在必须使用我们的“生产”版本配置从“release/2.3”分支中删除一个新版本,这样我们的代码才能使我们的应用程序在反映生产的登台环境中工作。如果我们再次发布应用程序并选择“生产”版本配置,则AssemblyVersion将更改。这是一个问题,因为QA验证并通过了2.3.1234.56789

这个新版本可能是2.3.1236.98765,当我们说我们正在将一个未经QA签署的应用程序版本推向登台时,会引起很多关注

你将如何应对这一挑战?我们不能在这里创新。这一定是一个已经解决了一百万次的问题,但我没有看到任何相关的


提前感谢您。

这些自动生成的数字实际上是时间戳,因此如果您在程序集信息中使用
2.3.*
,您将始终遇到此问题。我看到它们反映了自2000年1月1日以来的天数。我一直在寻找同时发布“开发”和“生产”配置的方法,希望获得相同的版本号,但这似乎是不可行的。唯一可以做的就是不要对版本号的第三部分使用
*
。事实上,您可能希望将其视为一种更结构化的方法。既然您手动更改了
X.Y.Z
Y
,为什么不也手动更改
Z
?对于最后一部分,请随意留下*号,但让人们知道它不会影响代码内容,只是生成的日期。我想,一旦我剪切了一个发行分支,我可以手动将发行编号设置为X.Y.Z,正如您所提到的,并从那时起在该分支中手动管理它。大多数公司是如何处理的?他们不会挂断版本号吗?有更好的策略吗?这些自动生成的数字实际上是时间戳,因此如果在程序集信息中使用
2.3.*
,您将始终遇到此问题。我看到它们反映了自2000年1月1日以来的天数。我一直在寻找同时发布“开发”和“生产”配置的方法,希望获得相同的版本号,但这似乎是不可行的。唯一可以做的就是不要对版本号的第三部分使用
*
。事实上,您可能希望将其视为一种更结构化的方法。既然您手动更改了
X.Y.Z
Y
,为什么不也手动更改
Z
?对于最后一部分,请随意留下*号,但让人们知道它不会影响代码内容,只是生成的日期。我想,一旦我剪切了一个发行分支,我可以手动将发行编号设置为X.Y.Z,正如您所提到的,并从那时起在该分支中手动管理它。大多数公司是如何处理的?他们不会挂断版本号吗?有更好的策略吗?