- PR -

ASP.NETから参照するDLLについて

投稿者投稿内容
オレンジ
会議室デビュー日: 2006/04/10
投稿数: 8
投稿日時: 2006-04-10 20:27
初めて投稿させていただきます。

ASP.NETからDLLを参照する際に
・参照するDLLを/binディレクトリには置きたくない
⇒パッチ等が出たときにデフォルトで設置されているDLLに当ててから
 /binディレクトリへコピーするのは効率的でない

・レジストリに登録したくない
⇒他のアプリケーション等で使用しているものだと動作が心配

という場合、他に方法はあるのでしょうか。

[もともとDLLが存在しているフォルダを参照する]
という設定ができればいいのですが
調べた限りでは見当たらなかったので質問させていただきます。
どうぞよろしくお願い致します。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2006-04-10 20:41
引用:

ASP.NETからDLLを参照する際に


どんなDLLですか?
買ったもの?
作ったもの?何を使って作りましたか?

引用:

・参照するDLLを/binディレクトリには置きたくない


参照とは、この場合どういう使い方を想定していますか。

引用:

⇒パッチ等が出たときにデフォルトで設置されているDLLに当ててから
 /binディレクトリへコピーするのは効率的でない


効率的というのは、たとえばどうあればそうだということでしょうか。
コピーすればすむなら、これ以上簡単なことは無いように思えます。

引用:

・レジストリに登録したくない
⇒他のアプリケーション等で使用しているものだと動作が心配


レジストリに登録するかどうかは、そのDLLによります。
登録せざるを得ないものは、登録して使うしかありません。

引用:

[もともとDLLが存在しているフォルダを参照する]
という設定ができればいいのですが


つまり、なにか、現時点で思い通りにならない既存のDLLがあって、そのDLLをコピー
しないと動かないので困っている、という質問になりますでしょうか?

_________________
たつごろー
codeseek
こみゅぷらす
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-04-10 21:15
http://bpstore.nikkeibp.co.jp/nsp/teisei/mcs_vol4.html
ASP.NET 1.0/1.1ならば、上記のような制限があるので、bin/以下か GAC に登録かの選択肢しかないでしょう。
(DLL がアセンブリの事を指しているならば)
_________________
囚人のジレンマな日々
オレンジ
会議室デビュー日: 2006/04/10
投稿数: 8
投稿日時: 2006-04-10 21:32
>たつごろー様
早速の返信、ありがとうございます。
書き方が悪くて意図していたことがうまく伝わっていませんでした。
すみません。


参照したいDLLは製品付属のものです。
申し訳ありませんが言語はわかりません。
現在は/binディレクトリ配下にコピーして正常に動作しています。
明示的にレジストリに登録はしていません。

今後パッチを当てることも想定されるため、
インストール時のフォルダから動かさずに参照したいのです。
そうすればパッチが出てもデフォルトのフォルダにあるDLLに当てればすぐに最新者が反映されますよね?
パッチが出るたびにコピーするのでは効率的ではないと思いましたので。

ASP.NETでの開発経験がほとんどないため、
コピー以外にいい方法がないかなと思ったのです。


まとまりのない文章で申し訳ありません。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2006-04-10 22:41
引用:

参照したいDLLは製品付属のものです。
現在は/binディレクトリ配下にコピーして正常に動作しています。
明示的にレジストリに登録はしていません。


そのDLLをどういう風に呼び出していますか?
実際のコードは?
なにか手があるかも、もしかしたら無いかもしれません。


でも...依存するファイルは、セットで更新するべきです。
DLLが最新になるのはいいとして、その最新のDLLを安全に呼び出せるなんてことを保障することは、現時点のプログラムからは不可能ですよね。将来の予測をどれだけすればいいかわからないのですから。

さらに...ライセンスは大丈夫ですか?
ASP.NETでつかうということは、多くのユーザで使うライセンスが必要になると思います。


_________________
たつごろー
codeseek
こみゅぷらす
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2006-04-10 23:25
引用:

囚人さんの書き込み (2006-04-10 21:15) より:
http://bpstore.nikkeibp.co.jp/nsp/teisei/mcs_vol4.html
ASP.NET 1.0/1.1ならば、上記のような制限があるので、bin/以下か GAC に登録かの選択肢しかないでしょう。


これって今の話にかかわってきます?
というか、この話だと、bin/以下に置くのも駄目で
GACに置くしかないって話になるんじゃ…
※その製品のDLLに厳密名がついている場合ですが(大抵ついてるような気も…)
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-04-11 00:19
引用:

これって今の話にかかわってきます?
というか、この話だと、bin/以下に置くのも駄目で
GACに置くしかないって話になるんじゃ…
※その製品のDLLに厳密名がついている場合ですが(大抵ついてるような気も…)


引用:

[もともとDLLが存在しているフォルダを参照する]
という設定ができればいいのですが


という話が出てきたので、bin/以下が嫌なら GAC しかない、という事です。
さらに厳密名がついてたら、尚更 GAC しか選択できないという事です。

_________________
囚人のジレンマな日々
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-11 22:09
 Side by Side (サイド バイ サイド、SxS)や、DLL Hell について、検索してください。なぜ今のような配置形態になったのかを知ることも、問題解決への道です。
 下手に bin ディレクトリにコピーすると、ロードに失敗して動かなくなりますよ。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdndotnet/htm/net_dll.asp
[MSDN を、「"サイド バイ サイド"」で検索。出てきたトピックのタイトルを Google で検索。]

〆 written by Jitta@わんくま同盟 on 2006/04/11
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006

スキルアップ/キャリアアップ(JOB@IT)