トップ回答者
複数プロジェクトでのファイル共有

質問
-
VB6.0からVB2005へ移行中のプロジェクトにて困っております。
Aというプロジェクト、Bというプロジェクトがあります。
これらのプロジェクトは、VB6.0の時にC.vbという
定数定義ファイルを参照していました。
VB6.0では、プロジェクトフォルダ以外のフォルダのファイルも参照できましたが
VB2005では各々のプロジェクトフォルダに個別のC.vbが出来てしまいます。
VB2005で、AプロジェクトのプロジェクトフォルダをAAAとし
BプロジェクトのプロジェクトフォルダをBBBとし
CCCというフォルダにC.vbを置いた場合に
A、B各プロジェクトのソリューションエクスプローラで
CCC\C.vbを参照することはできないのでしょうか?
回答
すべての返信
-
とっくに終わったようですので蛇足になりますが(^^;
mkaki さんからの引用
ただ、これがおすすめできない理由がわかりません。
いえ、おすすめしていない訳ではありませんよ。
リンクには一長一短があると思いますが、私の返信ではそれらには触れずに、可能だということだけをお伝えしたかっただけです。
デメリットとして一番に思う点は、あるプロジェクトでリンクファイルに対して行った変更が否応なしに別のプロジェクトに影響を与えることです。当たり前ですが、コンパイルが通らなくなったり、動作が変わってしまったりすることにつながります。
ただこのデメリットを、常に最新のソースにリンクするというメリットに付随して発生する副作用の1つととらえるのであれば、利用することにも価値は十分あると思っています(なんて回りくどい表現かと)。
つまり一言で言えば、ご利用は計画的にということで。
mkaki さんからの引用
アセンブリを肥大化させる為、好ましくない
確かにそうかもしれませんが、これは些細なことだと思います(あくまで私見であり、それが重要な場面もあるでしょうが)。[既存項目の追加] のデフォルトがコピーになっているのは、上述したデメリットを重視した結果ではないかと考えています。
.NET では「アセンブリは不変」という概念がありますが、それと発想の生い立ちは同じだと思います。
その点、IIJAMAS さんのようにしておくと、.NET のバージョニングも機能させられるのでいいですね~
-
ソースのリンク参照の最大のデメリットは、ソース管理システム(VSSに限らずです)とすこぶる相性が悪いという点にあります。
それと、リンク先ファイルの位置とソリューションの物理的なフォルダ構成も影響を受けます。
多分中身が変わるのが、とか肥大化(これ自体は、DLLとして外にいる分までカウントすれば変わりはない)がとかよりも、こっちのほうがずっと大きなデメリットになりえると。
MSとしては、リンク参照するなら、VSSなり、TFSなりのソース管理ツール使ってよ(=買ってよw)というところでしょう。
もちろん、CVSなどのオープンソースなやつでも問題はありませんけどw