VB.NETにてMSHTMLを利用したプログラムを作成しています。

開発をしていた時までは良かったのですが、.NETFramework 2.0のランタイムのみの環境で動かしたら所、エラーが出てしまい上手く動作させる事ができません。
最初はMicrosoft.mshtml.dllが無い為のエラーだったのですが、Microsoft.mshtml.dllをコピーしてからは、下記のエラーとなり、解決方法が分からず困っております。

どなたか具体的な解決方法をお持ちの方、ご教示をお願い致します。
なお、この現象は.NETFramework 2.0 SDKを入れる事で解決する事は分かっています。
また、Microsoft.mshtml.dllをgenasm.exeで登録しようとすると、エラーになってしまい、登録できません。

下記が問題のエラーとなります。

Unable to cast COM object of type 'System.__ComObject' to class type 'mshtml.HTMLDocumentClass'. COM components that enter the CLR and do not support IProvideClassInfo or that do not have any interop assembly registered will be wrapped in the __ComObject type. Instances of this type cannot be cast to any other class; however they can be cast to interfaces as long as the underlying COM component supports QueryInterface calls for the IID of the interface.

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/01/22 07:25:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:kn1967 No.1

回答回数2915ベストアンサー獲得回数301

ポイント60pt

>.NETFramework 2.0 SDKを入れる事で解決する事は分かっています。

Microsoft.mshtml.dll はCLR環境には含まれていませんのでプログラムの改変に時間を割けそうにない場合は、それが1つの対策となります。

改変可能なのであればMicrosoft.mshtml.dllを直接は使わない手法に改変する事で回避可能ではありますが、、、、手間ですよ。

http://support.microsoft.com/default.aspx?scid=kb;JA;305622

id:Phynel

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

この方法しかありませんかね…

これは手間なので、できればやりたく無いです。

2007/01/15 09:20:12

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません