DOBON.NET DOBON.NETプログラミング掲示板過去ログ

共通モジュールについて

環境/言語:[VB.NET]
分類:[.NET]

初めて投稿させて頂きます。

今までC,C++,VB6以前などを主にやってきていたのですが、
VB.NETで開発をやることになり少々混乱してることがあります。
それは、グループ開発で利用する場合の共通モジュールについてです。

VB6以前では共通モジュール(仮にCommon.bas)を使用する際には、
読取専用などにして、様々なプロジェクトから参照して利用していましたが、
VB.NETではプロジェクトにそのファイル(basCommon.vb)を追加すると、
個々のプロジェクトの直下にそのファイルが勝手にコピーされます。

色々触ってみて判ったことは、ソリューションビューでフォルダを作成したり、
ファイルを作成または追加すると、実際のWinディレクトリに対し同期を取るということです。
(VB6以前では、Winディレクトリには同期していなかったハズ)

この場合だと、VSSなどでソース管理をした場合に以下の問題が発生します。
共通モジュールファイルに更新があった場合、VSSで取得しても、
その個々のプロジェクトの規定の場所に、毎回コピーしなくてはならなくなることです。
(VSSでは作業フォルダが一意にしか決定できないので)
また、読取専用にしておいても、VS.NETでは無理矢理上書き保存できてしまいます。
これは、共通モジュールとしては非常にまずいことです。

共通モジュールをライブラリ化して(仮にCommon.DLL)参照追加した場合は
ファイルを追加するわけではないので、当然、勝手にコピーはしないようですが…
共通モジュールに変更があった場合、また修正してコンパイルし直すのも面倒です…

もちろん、コーダ側が注意してくれれば、ファイル追加でも問題ないのですが、
やはり手間や、うっかりミス防止のためにも手作業は減らしたいのです。

何か解決策はないのでしょうか?
拙い文で申し訳ありませんが、ご存知の方ご教授くださいませ。

> VB6以前では共通モジュール(仮にCommon.bas)を使用する際には、
> 読取専用などにして、様々なプロジェクトから参照して利用していましたが、
> VB.NETではプロジェクトにそのファイル(basCommon.vb)を追加すると、
> 個々のプロジェクトの直下にそのファイルが勝手にコピーされます。

はじめまして。

プロジェクトに追加する際に、共通モジュールを「開く」で選択せず、
「リンクファイル」で追加すると、どうでしょうか?

ちなみにダイアログの開くボタンの右隅の▼ボタンを押下すると、
「リンクファイル」が選べるようになります。
> プロジェクトに追加する際に、共通モジュールを「開く」で選択せず、
> 「リンクファイル」で追加すると、どうでしょうか?
> ちなみにダイアログの開くボタンの右隅の▼ボタンを押下すると、
> 「リンクファイル」が選べるようになります。

をを!ありがとうございます。
結局暫定的に、同一ソリューションにCommonプロジェクトを入れて、
各アプリケーションに依存させて(実行時にライブラリ化)してやっていたので大変助かりました。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板