Team Foundation Server ソース管理で共通ファイルを共有するには

 

こんにちは、Visual Studioサポート チームです。

関東地方には観測史上稀な大雪が降ったり、まだまだ寒~い日が続きますね。
先日の大雪では、2週連続で雪遊び+雪かきに精を尽くし、若干ヘタレ気味ではありますが、皆様に開発 ツールのちょっとしたTipsをこのブログでご紹介します。

今回はTeam Foundation Server (以下 TFS) のソース管理のネタとなります。

ご存知のとおり、最新のTFS はバージョン 2013となり、TFS 2005の初回リリースから、かれこれ、5バージョン目となりました。

チームでのアプリケーション開発全般の工程に対して支援機能をもつTFSですが、なかでもソース管理機能は TFS 以前の製品である Visual SourceSafe の後継としてご利用いただいている方も多いと思います。

Visual SourceSafeよりTFSに移行する際には移行支援ツール提供されており、SourceSafeでの資産をTFS での利用することが可能ですが、いくつかの機能はTFSで対応する機能が引き継がれませんでした。

その機能の一つが “共有” です。

SourceSafeでの “共有” は、製品ドキュメント、イメージファイル、また、共通コードファイルなど複数のプロジェクトで 共有するファイルを各プロジェクトごと複数個用意せず、単一のファイルを複数のプロジェクトで共有し、利用することを可能とする機能となります。

また、共有したファイルの更新はいずれかのプロジェクトから可能であり、その更新の反映は各プロジェクトから取得するできるため、ファイルの更新や共有プロジェクトの数が把握できる小規模な開発においては、とっても役立つ機能でした。

では、このような “共有”機能がなくなってしまった TFSで単一の共通コードを複数のプロジェクトで共有するには?・・・

次のような方法でTFSでも複数プロジェクト間で共通ファイルの共有が可能です。

 

1). Visual Studio の “リンクとして追加”を使用し、プロジェクト内に共通ファイルのリンクを追加する。
2). 共通ファイルをアセンブリ化しアセンブリ参照する
3). Visual Studio プロジェクト単位でプロジェクト参照する

 

この中で 1)の “リンクとして追加”を使用した場合は 2), 3)のように共有ソースの形を問わず、単体のファイルとして共有が可能となるため、SourceSafeの共有機能と似た運用ができます。

例えば、以下のMSDNにあるように、モバイル用アプリケーションとデスクトップ用のアプリケーションの開発で共通に使用するコードがある場合などには、個々のプロジェクトで別々のファイルを用意する必要がなく、単一のファイルの共有が可能です。

また、この共有により、チームの共有資産という点からもその管理が煩雑にならずに済みます。

[リンクとして追加] を使用してコードを共有する
https://msdn.microsoft.com/ja-jp/library/windowsphone/develop/jj714082(v=vs.105).aspx

 

TFSでの共通コードの共有についての詳細は以下のドキュメントをご覧ください。

Visual Studio TFS での分岐とマージのガイド
https://msdn.microsoft.com/ja-jp/magazine/gg598921.aspx

なお、TFSソース管理で管理される共通ファイルをVisual Studioの “リンクとして追加” で共有する場合、クライア ントがVisual Studio 2010の場合には、プロジェクトからリンクを削除した際に、リンク元のソース管理上の共通ファイルも削除されてしまうことがあります。

そのため、Visual Studio 2010 でTFSソース管理のファイルを“リンクとして追加” で共有する場合にはご注意ください。
もしそのような現象にあたった場合には、ソース管理上の削除に対する保留中の変更を元に戻し、リンク元ファイル の削除の実行を回避してください。

このため、“リンクとして追加” での共有ファイルの共有では、Visual Studio 2012以上のバージョンをご利用いただくことをお奨めします。