|&big(){ライブラリ}| #contents() ---- *バージョン情報 "Info"+アセンブリ名のクラスに、Versionメソッドを実装する。 /// <summary></summary> public static class InfoTekLib { /// <summary>アセンブリバージョンを返す</summary> public static Version Version { get { return Assembly.GetExecutingAssembly().GetName().Version; } } } バージョンは、XX.YY.ZZ.rrの4つから構成される。そのうちrrはビルドごとに違う値になるようにしておく。 **メジャー番号[XX] 大きく機能が異なるときや、なにかの区切りにより進める。 クラスやメソッドの削除は、メジャー番号が変わるときのみ可能とする。 ターゲットとするメジャー番号とライブラリのメジャー番号が異なるときは、互換性はないと考えた方が良い。 **マイナー番号[YY] 機能の追加により進める。 クラスやメソッドの削除は禁止とし、削除したい場合はObsolete属性を付けておくに留める。 ターゲットとするメジャー番号が一致し、マイナー番号がライブラリのマイナー番号以上なら、互換性がある。 **ビルド番号[ZZ] バグフィックスにより進める。 入出力インターフェイスに変化があってはならない。 ターゲットとするメジャー番号とマイナー番号が一致すれば、インターフェイス的に互換性がある。もちろん、バグの有り無し等による動作の違いは存在する。 **リビジョン番号[rr] 識別の為に、ビルド毎に変わるようにしておく。