やりたいこと
VisualStudioで、1つのソリューション(sln)に複数のプロジェクト(csproj)が含まれているときに、まったく同じクラスを両方で使いたいとなったときに、dllに分けるまでしなくても簡易的に同じクラスを使える(共有できる)ようにしたい。
前提
VisualStudio2019
Consoleアプリケーション(.net Framework)
で実験実施。
やり方
ファイルの「リンクとして追加」を使う。
- 共有される側のプロジェクトで、共有されるクラスを作成する。
- 共有する側のプロジェクトを右クリックする。
- [追加]を選択する。
- [既存の項目]をクリックする。
- 共有されるクラスを記述したファイルを選択する。
- その状態で、[追加]ボタンの横の[▼]を押し、[リンクとして追加]を押す。
これで、共有する側のプロジェクトに、そのcsファイルが追加される。
(リンクとして追加したファイルには、のアイコンがつく。)
注意
[リンクとして追加]で追加したファイルは、リンク元のファイルと同じファイルを見ているので、どちらかを変えるともう片方にも同じ変更が入ってしまうので注意。
(ファイルの実体(.csファイル)は、元のプロジェクトの方にだけ存在していて、リンク先のプロジェクトにはない。)
→.csprojファイルに、リンクした旨の設定が追加される。