最近修改程序,打算把程序功能模块化,对于以后应用中产生的问题,只需更换某个模块即可。
这样产生模块版本管理问题。
解决方式有:
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
{
//****
}