Windowsコントロールライブラリプロジェクトの自作ユーザーコントロールをビルドした後、そのDLLをCOMコンポーネントに追加したいのですが、できません。
追加できなければ目的であるASP.NET WebアプリケーションのForm上に貼り付けが不可能のようです。
どなたか情報をお持ちの方、教えてもらえないでしょうか?
ちなみに・・・
最初に定義されているWindowsコントロールライブラリプロジェクト
の自作ユーザーコントロールとは、何の環境で作成したものですか?
.NETコンポーネントであれば、ASP.NETで直接参照が可能です。
VB6等であれば、既にCOMコンポーネントですので、.NETの参照設定
での、COMタブの方で参照可能ですが・・・
尚、一覧に無い場合は、参照ボタンをクリックして、そのDLL等を
選択すればよいはずです。
なんか、こんがらがっていますので、もう一度、状況の確認と、
そのオブジェクトのタイプを記載して下さい。
以上。
岡田 之仁さん、ありがとうございます。
その自作コントロールはVB.NETで作ったものです。
そのコントロールのDLLを
「ツールの追加と削除」での.NET Framework コンポーネントには正常に
追加できるのですが、COMコンポーネントには"このファイルはCOMサーバー
として認識されませんでした"ということで追加できません。
COMコンポーネントにはできないんでしょうか?
いや・・・ですから、何故、.NETコンポーネントとして追加が正常に
行えているのに、同じものを、COMコンポーネントで二重に追加する
必要があるのですか?
.NETコンポーネントとして認識・追加できていれば、問題なく使える
ことになりますが・・・
何か別のことがしたいのでしょうか?
以上。
目的としては
CABファイルを作成し、それをWEB上で実行可能な状態にすることです。
そのためにはクラスIDを取得しなければいけません。
クラスIDを取得するには
Microsft FrontPageの「挿入」→「アドバンスト」→「ActiveXコントロール」で該当DLLを選択するとHTML上にクラスIDが記載されますので、その
方法を使おうと考えました。
その該当DLL群がCOMコンポーネントなのです。
.NETコンポーネントとして認識・追加できているのですが
ASP.NETアプリケーションのWebForm上に貼り付けることができないので
COMコンポーネントとして追加すればWebForm上に貼り付けることができる
のではないかと考えました。
以上です。どうぞよろしくおねがいします。
まず・・・
Windowsフォームに貼り付けられる.NETコンポーネントは、
必ずしもWebフォームには貼り付けられない。と言うこと
です。
その辺の考慮を為された.NETコンポーネントであれば、
問題なく、Webフォームに貼り付けられますが・・・
.METコンポーネントのCOM化については、マイクロソフト
のサイトに情報がありますので、その方法を検索してみ
て下さい。
以上。
情報によると.NETにてActiveXコンポーネントは作成不可能のようです。
.NETで作成できるWebコンポーネントは、.NET Flamework上でしか
動作させることができません。(IISにてASPを使用する)
特殊なことをすれば作成可能なようですが、保守性が低下するため
.NETでの作成は諦めることにしました。
岡田さんありがとうございました。
ツイート | ![]() |