2010-12-08 4 views
1

私は、すべてMicrosoft.Practicesライブラリの共通セットを参照するいくつかのプロジェクトのソリューションを用意しています。今のところ、これらのライブラリはプロジェクトのbinフォルダにあり、「DLLs」というソリューションフォルダの下にグループ化されています。これはまったく好きではありません。 binフォルダーは出力フォルダーのままで、プロジェクト間で共有されている依存関係を1つのプロジェクトの「出力」に隠すべきではありません。参照するライブラリのソリューションに物理フォルダを追加します

ソリューションに物理フォルダを追加し、これらのライブラリをそのフォルダに移動し、そのフォルダを指すようにすべてのプロジェクト参照を更新するのが理想的ですが、ソリューションに物理フォルダを追加することはできません。ほとんど容認できる解決策は、ソースファイルのない新しいプロジェクトを作成し、そのプロジェクト用に作成された物理フォルダにライブラリを移動することなどです。

このようなシナリオでは、どのような良いプラクティスが受け入れられますか?

答えて

1

私はソリューションフォルダを追加しました。または、既存の「共通」プロジェクトにライブラリを配置しました。

+0

ああ、私も気づきました。新しいプロジェクトを作成せずに、これらを入れることができる.Commonプロジェクトがあります。 – ProfK

0

典型的な方法は、プロジェクトディレクトリのルートにLibディレクトリを作成し、そこにdllを配置することです。あなたのソリューションの一部としてそれを持つ必要はありません。しかし、あなたのソリューションでそれを望むなら、いつでもソリューションフォルダを作成してそこに置くことができます(ソリューションを右クリックして、Addメニューを展開し、 "New Solution Folder"を選択してください)。

+0

私はあなたの意見が間違っていると思います。これらのdllは同じソリューションの複数のプロジェクトで使用されているため、これらのDLLを使用する各プロジェクトのLibフォルダはこれらのdllの複数のコピーをすべて意味するため、ソリューションの一部にする必要があります。私はソリューションのフォルダを望んでいない、それは私にdllのための離散的な場所を与えないからです。実際にはソリューションフォルダにありますが、まだ1つのプロジェクトのbinフォルダにあります。 – ProfK

1

私たちのプロジェクト/ソリューション構造は次のようになります。

XDEV \会社名\プロジェクト名\ solutionfolder ..いくつかのプロジェクトで使用されている

私たちの共通のライブラリ、ここ

に位置

xdev \ companyname \ projectname \ libs ..

それは私たちにとって素晴らしい作品です。私の視点では、アセンブリにアセンブリを配置する必要はありません。ソリューション全体のライブラリフォルダが必要な場合は、companynameフォルダに入れます。それはフォルダの論理構造だけです、他にはありません;-)

+0

はい@マリアス、私はTFSエクスプローラがVS内のソリューションフォルダの下にフォルダを作成できることを知っています。共通のプロジェクトを見つけられなかった場合、私はそれを使用していました。 – ProfK

+0

あなたのTFSにlibsを載せたいのであれば、TFSでSharedProjectを使用し、その中にアセンブリを入れます。 – Mariusz

関連する問題