对ASP.NET Web应用程序进行版本控制

8 asp.net

我甚至不确定版本控制是否适合它,但它必须这样做.我想根据用户的要求开始在我们的内部应用程序上添加"版本xxxx"注释,因此他们对于何时更新(以及将来创建显示更改的链接)有一个大概的想法.看起来像使用AssemblyInfo.cs文件是一个好主意 - 它允许您自动更新构建+修订版本(对于Web应用程序的.DLL).

这是一个不错的方法吗?然后每当我达到我的应用程序的主要/次要版本里程碑时.我可以手动更新这些,对吗?所有这些假设我实际上可以从我的应用程序获取版本信息.不知怎的,我不知道怎么做.

Rex*_*x M 10

我们在申请中做同样的事情.虽然您可以手动添加版本号,但我们的版本信息会作为自动构建过程的一部分添加到程序集中(我们使用自定义的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";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)