设置场景:
我的 asp.net Web 应用程序带有一个版本号,该版本号在每次发布时都会递增。我们每周都会在内部为我们的测试团队发布,并在大约四个星期后发布给我们的客户。
问题:
我想在我们的应用程序中包含版本号。您使用了哪些方法使您的 Web 应用程序带有版本号?元标记?只是将它添加到页脚?
设置场景:
我的 asp.net Web 应用程序带有一个版本号,该版本号在每次发布时都会递增。我们每周都会在内部为我们的测试团队发布,并在大约四个星期后发布给我们的客户。
问题:
我想在我们的应用程序中包含版本号。您使用了哪些方法使您的 Web 应用程序带有版本号?元标记?只是将它添加到页脚?
如果您经常与客户联系(针对错误修复或更改),您应该将版本号保存在易于查找的位置(例如页脚)。您会发现自己询问客户他们正在运行什么版本,如果他们找不到,这对客户和支持人员来说都是令人沮丧的。
确保您的页脚是用户控件,或者版本存储在数据库表或资源文件中,以便您更新一次,而不是通过每个页面更新。我的建议是用户控件,如果您想跟踪版本控制,请将版本号存储在数据库中并将其读入您的用户控件。
您可以采取 MS 路线,在给定菜单的情况下执行 help->about,并在 js 弹出窗口或其他页面上显示版本号。
如果由于某种原因您不喜欢页脚甚至帮助菜单弹出窗口上的版本号,并且您不定期与客户端打交道,您可以将其作为元数据或 HTML 的源代码。
我们有一些信息页面,我们在其中显示版本号(SaaS 应用程序)。
但严重的是,与网络软件版本号无关。这是迁移到 Web 的关键 - 以便用户最终忘记那些版本、更新、服务包等。否则任何一方都没有真正掌握不断更新的 Web 应用程序(永久测试版)的想法。
在一些项目中,我们将版本号添加到页脚。我们显示了程序集(我们的任何程序集)版本号。
使用这种方法,我们不必关心页脚中的文本,只要我们增加 Assembly Version 即可。
汇编版本是用反射提取的。
我见过很多 Web 应用程序(和网站),我见过在生成的 HTML 中添加版本号作为注释。BBC 就是其中之一 - 查看源代码,您会<!-- Barlesque v34.8 -->
在标题中看到。(Barlesque 是 BBC 的排版系统。)
查看此处发布的代码。它将收集并显示 .NET Framework 版本信息。任何时候需要当前程序集的版本信息,都可以使用
Assembly.GetExecutingAssembly().GetName().Version
同样,要获取特定程序集的版本信息,您可以直接反映程序集,也可以简单地使用程序集中的类
typeof(ClassKnownToBeInTheTargetAssembly).Assembly.GetName().Version
其中 ClassKnownToBeInTheTargetAssembly 是在您想要其版本信息的程序集中声明的类。
顺便说一句,这些评论假定程序集已签名。