- - PR -
System.Webなどの名前空間にDLLを作りたい
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-27 18:11
簡単なDLLを作成して、GACに登録しました。
(名前空間はSystem.Webにしてあります) Public Class Class1 Public Function method1() As String Return "test" End Function End Class 私の想像では、ASPでは自動的にSystem.Webがインポートされるので 自分の作ったDLLが名前空間の指定なしで使えると思ったのですが、 クラス一覧には出てきません。 私が何か根本的な仕様を勘違いしてると思いますが、分かる人、いら っしゃいますでしょうか? | ||||
|
投稿日時: 2005-10-27 18:25
こんにちは。
それがありかなしかは置いといて。 そのアセンブリを参照設定してないから、とか。 | ||||
|
投稿日時: 2005-10-27 18:28
根拠の無い推測を書いてみます。
GACよりも、プロジェクトに含まれている 本物のSystem.WebのDllが優先されているだけでしょう。 そして、自作クラスのDllは参照設定してないとか。 ここからは個人的意見です。 名称のバッティングを避けるために、名前空間が用意されてるわけですよね。 それなのに、わざわざ自作クラスの名前空間を、System.Webにするのどうかと。 好奇心から実験されているのなら、余分な忠告でした。 ゴメンナサイ。 #むしろ逆に、System.Webの参照を外したらどうなるかとかが気になったりする 追記 レスをしている割には、GACの有効な場面を知らなかったりする私。 自身の後学のためリンクしとこ。。 グローバル・アセンブリ・キャッシュ [ メッセージ編集済み 編集者: 葉瀬崎浩樹 編集日時 2005-10-27 18:43 ] | ||||
|
投稿日時: 2005-10-27 18:38
ご意見ありがとうございます。
ASPで上司にそういうことはできないかと訪ねられたので試しています。 参照の追加をすれば可能ですが、bin配下にライブラリを置きたくない らしいのでGACに登録すればと思ったのですが。 System.Webではなく、適当な名前空間でも構いませんが、やはりBin配下に ライブラリを置くしかないのでしょうか? | ||||
|
投稿日時: 2005-10-27 18:45
実務でGACに登録している場面を見たことがあります。
なぜそうしたのかの理由までは、ちょっと存じませんが。。 先のリンク先にも、そのあたりが載っているのでご覧になってください。 | ||||
|
投稿日時: 2005-10-27 18:47
GACに登録したアセンブリを参照してもプライベート部分にコピーされないのでは?
| ||||
|
投稿日時: 2005-10-27 18:56
eos b400さん、こんばんは。
GAC のアセンブリは、公開キー トークンを含む厳密な名前に基づいて参照されるからですね。 詳しくはこの辺↓を参照して下さい。 「.NET Framework 開発者ガイド」-「アセンブリ名」 | ||||
|
投稿日時: 2005-10-27 19:23
皆さん本当にいろいろありがとうございます。リンク先が勉強になります。
>GACに登録したアセンブリを参照してもプライベート部分にコピーされないのでは? そうですね。勘違いしてました。 名前空間を適当なものに変えてみて参照の追加で出来ました。 あとすいませんっ! もうひとつ質問があります。 今「参照の追加で出来ました」と書きましたが、その「参照の追加」 と同じことを、VSの環境を使わずに(テキストエディタだけで)書くには どのようにすればいいのでしょうか? 今はVSの環境を使わずに開発を してますので。(納品の形態がそうらしいので) importsは全然違う みたいで。 |
1|2|3
次のページへ»