Dll版本管理

最近修改程序,打算把程序功能模块化,对于以后应用中产生的问题,只需更换某个模块即可。

 这样产生模块版本管理问题。

解决方式有:

1. 生成DLL时产生成版本号。

  如果类库非常多的话,可以新建一个类库项目。配置AssemblyInfo.cs文件管理版本号。

  如果类库少,可以使用csc命令手动生成Dll 

 比如:

 CSC /out :D:/test.Dll /t:library D:/test.cs D:/AssemblyInfo.cs 

 

2.使用特性来管理

 首先自定义一个 特性类:

  [AttributeUsage(AttributeTargets.All,Inherited=true,AllowMultiple=true)]
     class DllCustomAttribute : Attribute
    {
        /// <summary>
        ///修改者
        /// </summary>
        string name;


        public string Name
        {
            get { return name; }
            set
            {
                if (value == null || value.Trim() == "")
                {
                    name = "VWINTECH";
                }
                else
                {
                    name = value;
                }
            }
        }
        /// <summary>
        /// 修改时间
        /// </summary>
        string time;


        public string Time
        {
            get { return time; }
            set { time = value; }
        }
        /// <summary>
        /// 版本
        /// </summary>
        string version;


        public string Version
        {
            get { return version; }
            set { version = value; }
        }


        public DllCustomAttribute(string name)
        {
            this.Name = name;
        }

 

使用时,在所需的类或接口上注明特性即可。

 [DllCustom("Mandel",Time="2013/5/22",Version="1.0.0.1")]

 [DllCustom("Mandel",Time="2013/5/21",Version="1.0.0.0")]

 interface IDataManger 

{

  //****

}

posted on 2014-01-02 20:30  象山  阅读(507)  评论(0编辑  收藏  举报

导航