dポイントプレゼントキャンペーン実施中!

お願いします。

C#.NET2003で、時間を表示する極簡単なユーザコントロールを作成しました。
そのユーザコントロールは、同じソリューションの中でTestアプリケーションを
作成し、参照設定で「参照の追加」-「プロジェクト」タブで追加することにより、
ツールボックスのマイユーザコントロール上に表示され、Testフォームに貼り
付けることが出来、正常に動作しました。

ここまではいいのですが、このユーザコントロールを誰でも使えるようにしようと、
以下を実行しました。
(1) 構成プロパティの「COMの相互運用機能に登録」を「True」に変更。
(2) sn.exe -k コマンドにより、.snkファイルを作成。
(3) ユーザコントロールのAssemblyInfo.csを2行修正。
[assembly: AssemblyVersion("1.0.0.1")]
[assembly: AssemblyKeyFile("..\\..\\SimpleUserControl.snk")]
(4) ソリューションをリビルド。
(5) リビルドしたDLLファイルをC:\Windows\assemblyフォルダにコピー。

このようにして、新しいプロジェクトを作成し、「参照の追加」のCOM
タブを見ると、ちゃんとユーザコントロールが見えるのですが、追加
しようとすると、以下のエラーが発生しました。

=============================================================
'SimpleUserControl'への参照を追加できませんでした。
タイプライブラリを.NETアセンブリに変換できませんでした。
タイプライブラリSimpleUserControlはCLRアセンブリからエクスポートされた
ため、CLRアセンブリとして再度インポートすることはできません。
=============================================================

何か手順が抜けているの思うのですが、どなたかご教示頂けないで
しょうか?

A 回答 (1件)

.NETアプリから参照する場合は、普通に参照すればよい。


COM参照のテストは、VB6, Excel, IEなどで。

この回答への補足

回答ありがとうございます。

なるほど、大きな勘違いをしていました。
COMとの相互接続は、todo36さんのおっしゃる通り、.NET以外の
環境でユーザコントロールを使いたい時に、COMの登録が必要と
いうことですね。
私がやりたいのは、例えばC#.NETで作成したユーザコントロール
を他の.NETアプリケーションで使いたいでけですので、
> .NETアプリから参照する場合は、普通に参照すればよい。
でいいのですね。

そこで初歩的な質問で恐縮ですが、C#.NETで作成したユーザ
コントロールを、別の.NETアプリケーションプロジェクトのツール
ボックスに表示させるには、どのような手順が必要か、教えて
頂ければ幸いです。
(単純に新規プロジェクトの参照設定に追加してもツールボックス
に表示されないもので)

以上、よろしくお願い致します。

補足日時:2011/03/17 13:53
    • good
    • 0
この回答へのお礼

追加の質問は撤回します。
調べたら分かりました。

todo36さん、勘違いを正して下さり、ありがとうございました。
迷路にはまり込むこととでした。

重ねて御礼申し上げます。

お礼日時:2011/03/17 15:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!