[C#] 他のプロジェクトのソースファイルを参照する

みなさんは複数人で開発するときテストコードってどないしておこしてます?たとえば、こういうバッチ的な処理をするプログラムを作成するとしよう。


1. 更新されたファイルを取得する
2. 更新ファイルから更新者を取得する
3. 更新前のファイルと比較して、違う箇所を抜き出す
4. 更新されたファイルをメインフォルダにコピーする

ま、夜間にこういうバッチが走って、翌朝には前日の更新ファイルのビルドが終わって「よっしゃテストやー」ってゆー開発現場はよくあると思いますが、こういう処理をテストするときって、1 の処理が終わってないと 2 の処理にいけないし、2 の処理が終わってないと 3 の処理にいけない・・。なので 3 の処理を書く人は、実際に走らすときには 1 2 が終わってないと当然自分の作ったところがちゃんと動くかどうかわからない。しかも 1 2 の処理がやたら時間かかったりしたら、テストもやってられん。

そこで 1 2 の処理を行った結果をとっといて、テストするってのはよくあると思います。その際、VS.netでテスト用のプロジェクトを起こして、テストプログラム書くわけですが、マスタソリューションに追加してしまうと、複数人でやってるのでマズーなんです。なので、別個のプロジェクトこさえて、マスタソリューションのプロジェクトをインポートしてくることになるですけど、プロジェクトのインポートは問題ないんですが、ソースを直接インポートする際にえらい嵌るんです。

ソースファイル、コピーしよるんです。いやもう、てっきりテストプロジェクトとマスタプロジェクトで同じファイル見てると思って、あっちとこっちと色々修正してたら、なんか全然違うファイルになっちょるんです。「あれー・・さっきここ直したハズやのに、なんで元戻ってるんやろー、さっきのは夢やったんかなー」とか思うようになって、なんかおかしいなーと思ってたら、テストプロジェクトフォルダに同じ名前のファイルがあるんですよ。もうね、ホントしばらく呆然としましたよ。やる気なくなりました。そっからdiffとって、色々修正して、、、ってことやって、なんとかいけましたけど。

ほいでも、こんなことされたらテストでけんやないかーと思って、Unixで言うシンボリックリンクみたいなことでけんのかー、と色々調べてると、
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vxtskcreatingreferencestofilesinsolutionexplorer.asp
にそれがありました。そらそうや、無いわけないわー。願わくば、こっちの設定をデフォルトにしてほしいところだけど、間違って修正しちゃうリスクを考えると、コピーする、という安全側の設定の方がいいのかもしれない。でももっとわかりやすくしてくれよー。