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

vb2005でDll参照について

環境/言語:[WindowsXP(SP3) / vb2005 Express / Framework2.0]
分類:[.NET]

プロジェクトAでDll"AA"を作成して
プロジェクトBでプロジェクトAで作成した
Dllを参照して使用しようとしているのですが
プロジェクトBで参照設定からDll"AA"を参照設定
して使用するとDll"AA"を再ビルドする度に
プロジェクトBの参照設定をし直してコンパイル
しないとだめみたいですが

Dll"AA"を再ビルドしてもプロジェクトBは再コンパイル
せずに済む方法はありますでしょうか?


補足:Dll"AA"は複数のプロジェクトで参照予定なので
Dll"AA"を再ビルドしても参照しているプロジェクトを
再コンパイルせずにDLLの管理がしたいです。
vb6では REGSVR32 にDLLを登録して
使用していましたがこれも .net では使用出来ないみたいです。
■No28957に返信(fumofumoさんの記事)

極端な話、再ビルドしたDll"AA"を、プロジェクトBのDll"AA"が置かれている場所にコピーすればいいのですが、
そんなにDll"AA"を再ビルドする頻度が高いのでしょうか?
Dll"AA"の内容が変わることで、プロジェクトBの動作も変わる可能性があるので、単純に差し替えればいいという話でもないと思うのですが。
■No28958に返信(ピーコさんの記事)

ご返信ありがとうございます。

> 極端な話、再ビルドしたDll"AA"を、プロジェクトBのDll"AA"が置かれている場所にコピーすればいいのですが、
> そんなにDll"AA"を再ビルドする頻度が高いのでしょうか?
> Dll"AA"の内容が変わることで、プロジェクトBの動作も変わる可能性があるので、単純に差し替えればいいという話でもないと思うのですが。

すみません。情報不足でした。

Dll"AA" はあるマスターテーブルを検索する画面でして
複数のプロジェクトからの呼び出しをするので、Dll"AA"
はプロジェクトフォルダとは別のフォルダにて管理したいです。
そして検索画面なので検索機能強化、画面レイアウトの変更等
なので呼び出し元のプロジェクトに影響を及ぼすものは
ほとんどありません。(根本的な仕様変更があれば別ですが^^;)
そして、その変更要望がユーザーから度々あると予測でき
その度に100個前後のプロジェクトを再コンパイルするのは
ちょっとと思っています。

具体的にはプロジェクトフォルダとは別に「EXE」という
フォルダを作成してその中でEXEファイルとDllファイルを
管理して更新があればこの中のファイルを更新すればOK
という管理をしたいと思っています。

このような管理方法は間違っているのでしょうか?
どうぞ宜しくお願いします。
自己解決しました。

どうやら勘違いをしていたみたいです。

それはプロジェクトBを立ち上げたまま
Dll"AA"を再ビルドしたら
Dll"AA"は別プログラムで使用中です
みたいなエラーが発生していたので
Dll"AA"を再ビルドしたらプロジェクトBも
再コンパイルしないといけない 
になったみたいです。

上記のエラーもプロジェクトBを
一回コンパイルするしてEXEファイルを
作成すると発生しなくなりました。

これで求めていた管理方法が実現出来ます。

お騒がせしてすみませんでしたm(_ _)m

これにて解決にしたいと思います。
解決済み!

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