|
.NET TIPS 複数のプロジェクトでファイルを共有するには?デジタルアドバンテージ 一色 政彦2007/05/24 |
![]() |
|
|
|
複数のVisual Studioのプロジェクトで同じソース・コードを使いたい場合や同じバージョン情報を設定したい場合など、ソース・ファイルを共有したいことがある。共有すれば、1回の修正で、すべてのプロジェクトにそれを適用できるので、効率がよいからだ。
このような目的には、Visual Studioの標準機能として搭載されているリンク・ファイル機能が役立つ。この機能は、Visual Studio .NET(2002/2003)およびVisual Studio 2005で利用できる。
本稿では、このリンク・ファイル機能の使い方を紹介する。サンプルとして、Visual Studio 2005を使って、複数のプロジェクトでバージョン情報ファイル(AssemblyInfo.cs)の一部の情報(=.NETアセンブリに設定する会社名と著作権情報)を共有する例を示す。
Visual Studioのリンク・ファイル機能の設定方法
本稿の例では、次の画面のように、ソリューション内に2つのプロジェクト(「ConsoleApplication1」と「ClassLibrary1」)があり、それぞれのプロジェクトの「Properties」フォルダ内に、「AssemblyInfo.cs」というバージョン情報ファイルが含まれているものとする。
![]() |
| 本稿で扱う2つのプロジェクト(ConsoleApplication1とClassLibrary1)とそれぞれのバージョン情報ファイル(AssemblyInfo.cs) |
●共有バージョン情報ファイルの作成
まずは、この2つのプロジェクトの共有バージョン情報ファイルとして「SharedAssemblyInfo.cs」というファイルを1つ、メインのプロジェクト(本稿では「ConsoleApplication1」)内に用意する。
このファイルを作成するには、ソリューション・エクスプローラでメイン・プロジェクトの項目を右クリックして、表示されるコンテキスト・メニューから[追加]−[新しい項目]を選択する。[新しい項目の追加 − <プロジェクト名>]ダイアログが表示されるので、「クラス」テンプレートを選択して、「SharedAssemblyInfo.cs」という名前でファイルを作成すればよい。
そして次の画面のように、ソリューション・エクスプローラで、追加されたファイルを適切な場所(本稿では「Properties」フォルダの配下)に移動させる。
![]() |
| 「Properties」フォルダの配下に移動させた共有バージョン情報ファイル(SharedAssemblyInfo.cs) |
共有バージョン情報ファイル(SharedAssemblyInfo.cs)を(ダブルクリックするなどして)Visual Studioのコード・エディタで開き、そのコード内容を次のように書き換える。
|
|
| 共有バージョン情報ファイル(SharedAssemblyInfo.cs)の内容 |
このコードは、ビルド後に生成される.NETアセンブリに対して会社名(=AssemblyCompany属性)と著作権情報(=AssemblyCopyright属性)を設定するためのものだ。このコードを2つのプロジェクトで共有するので、それぞれのプロジェクトのバージョン情報ファイル(AssemblyInfo.cs)の方に記述されているAssemblyCompany属性(会社名)とAssemblyCopyright属性(著作権情報)のコード部分は削除しておこう(※削除しないと、コンパイル時に「'AssemblyCopyright' の属性が重複しています。」といったエラーが発生する)。
●共有バージョン情報ファイルへのリンクの作成
次に、先ほど作成した共有バージョン情報ファイル(SharedAssemblyInfo.cs)へのリンクを、そのファイルを共有したいプロジェクト(本稿では「ClassLibrary1」)の中に追加する。具体的には、[既存項目の追加 − <プロジェクト名>]ダイアログで、そのファイルを選択し、[追加]ボタンで[リンクとして追加](もしくは[リンク ファイル])を選択する。実際の手順は、次の画面を参考にしてほしい。
追加すると、リンク・ファイル(=リンクとして追加した共有バージョン情報ファイル)は、ソリューション・エクスプローラ上では、
のように左下にリンクを表す矢印が付く。
リンク・ファイルも、次の画面のように、ソリューション・エクスプローラで適切な場所(本稿では「Properties」フォルダ)に移動させる。
![]() |
| 「Properties」フォルダの配下に移動させた共有バージョン情報ファイル(SharedAssemblyInfo.cs)へのリンク |
以上で作業は完了だ。ビルドすればそれぞれのプロジェクトが生成するアセンブリに同じバージョン情報(会社名と著作権情報)が設定されるはずだ。
さらにプロジェクトを増やした場合も、上記の手順により、そのプロジェクトにリンクを追加するだけで対応できる。
なお、ソリューション・エクスプローラでリンク・ファイルをダブルクリックした場合には、本体のファイル(リンク元のファイル)が開かれる仕組みになっている。![]()
| カテゴリ:Visual Studio 2005 処理対象:IDE カテゴリ:Visual Studio .NET 処理対象:IDE |
|
||||||||||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -






