[seasar-dev:483] [S2Container.NET] 異なる.NETのバージョンについて

Kazuya Sugimoto sugimotokazuya @ gmail.com
2006年 8月 21日 (月) 13:07:16 JST


杉本です。

現在、.NET 1.1用のS2Container.NETはSVN上でブランチに分けて開発を行っています。

これをSpring.NETも採用しているように、ソースコードを共通にして、ソリューションファイル,
プロジェクトファイルをVisualStudioのバージョン毎に用意するようにしてはどうかなと
思います。

ソース中でバージョン毎に切り替えが必要な部分は、定義されたシンボルと#ifを使用して
コンパイル時に切り替えるようにします。

あまり無いと思いますがソースコードの大部分に変更が必要で分かりにくくなれば
ソリューションファイル, プロジェクトファイルと同様にS2ContainerImpl.2005.csや
S2ContainerImpl.2003.csのようにファイルを分ける手もあると思います。

理由は以下の通りです。

- ほとんどの変更点・修正点が両方のバージョンで必要で作業量と作業ミスが多くなる
- .NET 2.0専用に追加するコード量がそれほど多くなかった(現状Null許容型の対応くらい)
- .NET 2.0に移行できないユーザが存在しているし、おそらく今後も当分存在する
- 今後.NETのバージョンが増えた場合に、過去のバージョンのメンテナンスを維持しやすい
- Spring.NETで実績がある

現在テスト中ですが、皆さんご意見下さい。

# 以前Spring.NET案をwataruさんが提案したのですが、ソースコードがややこしくなったら
# 嫌だねという理由でブランチに分けることになりました。

-- 
Kazuya Sugimoto
http://d.hatena.ne.jp/sugimotokazuya/


Seasar-dev メーリングリストの案内