WEB开发网
开发学院WEB开发ASP.NET MF训练套件(Tip1):如何获取WinPhone程序集的版本号... 阅读

MF训练套件(Tip1):如何获取WinPhone程序集的版本号??

 2012-05-18 08:03:09 来源:WEB开发网   
核心提示: 在前段时间,团队内部会议上,iOS, Android端的leader在汇报用户使用客户端反馈时, 只能根据用户的描述来排查出现的问题以及原因, 放出去的版本多了,有时很难分清A用户出现的问题是v1.0.0的版的?还是v1.0.1版的,所以,如何获取应用的程序集版本号,在一定程序上能够快速定位到问题.一、问题场景开发移

 在前段时间,团队内部会议上,iOS, Android端的leader在汇报用户使用客户端反馈时, 只能根据用户的描述来排查出现的问题以及原因, 放出去的版本多了,有时很难分清A用户出现的问题是v1.0.0的版的?还是v1.0.1版的,所以,如何获取应用的程序集版本号,在一定程序上能够快速定位到问题.
一、问题场景
开发移动应用产品,业内听到较多的做法是:敏捷,快速版本迭代更新。殊不知,迭代的快了,容易扯着。
我记得云城在刚创建之初,当时还没有做移动产品,完全是给Bambook输出血液,即内容, 某系统在同步这块下了非常大的功夫跟精力,但由于没有做过这类系统架构的经验,导致在开发过程中的bug飙升,然,又不得不提供给“需求方”一个又一个版本,所以,抛出去的组件版本连测试的同事都有点 眼花,幸运的是,文华(原云城技术总监)会每周举行”Bug消灭会”,专门针对近一周内出现的问题进行汇总、筛选,并当场找开发工程师解决,提出问题的根源,解决的方法。
有些bug隐藏在不同的版本中,A说a这个bug已经修复掉了,B说我在小b那个设备上还重现着呢,怎么可能修复掉呢?A对B说,你用的哪个设备?什么固件版本?组件版本是多少?B傻眼,无以回答…
以上的情景,在大多数的开发团队中会碰到,还有,做Android开发的朋友也喜欢做多个版本的迭代,如果不事先做好程序集版本的收集,那么,用户反馈上来的问题是哪个版本出现的,就不知道了。
另有一种情况,即:版本更新,应用内置检查更新功能,此时,server端需要拿到当前用户手上的版本号跟服务器的版本做比对,不一致的话,则进行更新..
二、解决之道
Windows Phone的解决方法与其他端并无差别,归纳起来,主要是获取Assembly中的Version值,代码如下:

  /// <summary>
   /// 获取程序集版本号
  /// </summary>
   /// <returns></returns>
  public string GetVersionNumber()
   {
    try
    {
       string version = typeof(MainPage).Assembly.ToString();
        if (!string.IsNullOrEmpty(version)
            && version.IndexOf("Version=") >= 0)
         {
             version = version.Substring(version.IndexOf("Version=") + "Version=".Length);
             version = version.Substring(0, version.IndexOf(","));
               return "version " + version;
           }
          else
          {
               return "version unknown";
          }
     }
       catch (Exception ex)
        {
         return "version unknown";
         }
    }

效果如下:

1 2  下一页

Tags:MF 训练 套件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接