我甚至不确定版本控制是否适合它,但它必须这样做.我想根据用户的要求开始在我们的内部应用程序上添加“版本x.x.xx”注释,因此他们大致了解何时更新(以及将来创建一个显示更改的链接).看起来使用AssemblyInfo.cs文件似乎是一个好主意 – 它可以让你自动更新很好的构建版本(对于Web应用程序的.DLL).
这是一个不错的方法吗?然后每当我达到我的应用程序的主要/次要版本里程碑时.我可以手动更新,对吗?所有这些假设我实际上可以从我的应用程序获取版本信息.不知怎的,我不知道怎么做.
解决方法
我们在申请中做同样的事情.虽然您可以手动添加版本号,但我们的版本信息会作为自动构建过程的一部分添加到程序集中(我们使用自定义的TFS 2008服务),我强烈建议您这样做.这是我们使用的控件(我们只是把它放在母版页的底部):
- public class BuildVersion : WebControl
- {
- /// <summary>
- /// Render override
- /// </summary>
- /// <param name="writer"></param>
- protected override void Render(HtmlTextWriter writer)
- {
- writer.Write("<!--");
- writer.Write("Version: ");
- writer.Write(GetAssemblyVersion());
- writer.Write("-->");
- }
- private string GetAssemblyVersion()
- {
- try
- {
- Object[] atts = Assembly.GetAssembly(this.GetType()).GetCustomAttributes(true);
- foreach (Object o in atts)
- {
- if (o.GetType() == typeof(AssemblyVersionAttribute))
- {
- return ((AssemblyVersionAttribute)o).Version;
- }
- }
- return String.Empty;
- }
- catch
- {
- return "Failed to load assembly";
- }
- }
- }