关于 asp.net:您如何处理 Web 应用程序的版本控制?

关于 asp.net:您如何处理 Web 应用程序的版本控制?

How do you handle versioning on a Web Application?

Web 应用程序/网站的版本控制策略是什么?

我注意到,在 Beta 中,页脚中有一个 svn 修订号,这对于在一个存储库上使用 svn 的应用程序来说是理想的。但是,如果您使用外部或不同的源代码控制应用程序来对不同的文件进行版本控制怎么办?

对于桌面应用程序来说似乎很容易,但我似乎无法为 asp.net Web 应用程序找到合适的版本控制方式。

请注意,我不确定我的问题是否完全清楚。

  • 我想知道的是如何为 asp.net 应用程序构建和自动增加版本号。
  • 我对如何将它与 svn 链接不感兴趣。

  • 我认为您正在寻找的是这样的:如何使用自定义 MSBuild 任务自动增加程序集版本。它有点旧,但我认为它会起作用。


    一开始我倾向于坚持使用基本整数(1,2,3),当事情变得更大时,我会转向有理数(2.1,3.13)......

    曾尝试过使用水果,这对于小型办公室很有效。哦,"香蕉"版本?在角落里看了看"是的……那现在已经很老了……"

    不幸的是,随着开发团队的壮大,混乱开始出现,是橘子还是橘子,还是橘子?看起来不错。你是什??么意思"内部腐烂?"

    ...但说实话。设置一个单独的存储库作为主存储库,开发在各种存储库中进行。对于每个计划的发布,所有内容都会签入主存储库,以便您在出现问题时可以快速回滚。
    (我假设 dev/test/production 都是独立的服务器,并且永远不允许 dev 接触生产或主存储库....)


    对于我的大型应用程序,我只使用一个递增的版本号 id (1.0, 1.1, ...),我存储在主文件的注释中(通常是 index.php)。
    对于网站,我通常只有一个修订号 (1,2,3,...)。


    在内部开发过程中,我使用里程碑编号(M1、M2、M3...)。发布后,我可能只会更新日期("2009 年 1 月更新")。


    我维护一个包含各种组件的 Web 应用程序系统,这些组件位于单独的 SVN 存储库中。为了能够对整个系统进行版本跟踪,我有另一个 SVN 存储库,其中包含所有其他存储库作为外部参考。它还包含用于部署整个事物的安装/设置脚本。通过该设置,"metarepository"的 SVN 修订号可能用于对整个系统进行版本控制。

    在另一种情况下,我通过 SVN 关键字将 SVN 修订包含在一个没有其他用途的类文件中(以避免关键字替换破坏我的代码的风险)。该文件中的类包含一个由 SVN 操作并由类方法解析的字符串变量。

    这两种方法的不便之处在于,修订号不会通过外部(方法 1)或其余代码(方法 2)的更改而自动更新。


    推荐阅读