- - PR -
HTMLドキュメントからマネージドコードの読み込みについて
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-11-22 17:57
すみません。左寄せされてしまって解りづらくなってしまいました。 もう一度記載させて頂きます。 Controls.dll | +Sample.Controls | +DragListBox | | +DragItem ・ ・ ・ | ||||||||
|
投稿日時: 2002-11-23 22:56
このメッセージですが、当方では確認できていません。ステータスバーではなく、オブジェクトを貼り付けたところに「×」のアイコンがでます。 ところで、作ったクラスには、引数なしのコンストラクタが定義されていますか?これが無ければサポートされませんよ?(って、MSDN Magazineの記事にも書いてあるので大丈夫とは思いますが) | ||||||||
|
投稿日時: 2002-11-24 14:17
こんにちわ。提督@今日は今日とて・・・です。
なんと・・・私が作ったのは引数なしのコンストラクタは定義してませんが、 とりあえず動いています・・・。 ただ、クラスのプロパティが空のときアレ?っていう動きはしてるので、 もしかしたら書かないとダメなんでしょうか・・・・・ (MSDN Magazineも買わなくちゃダメですねぇ・・・・) ところで引数なしのコンストラクタの処理って何も書かなくても大丈夫ですよねぇ? 横からの突っ込みですみませんでした(苦笑) 以上 | ||||||||
|
投稿日時: 2002-11-25 10:59
御指摘ありがとうございました。コンストラクタの定義が必要だとは知りませんでした。 (たしかにMSDN Magazineに太字で記載がありました) でもサンプルソース流用だった為、無事コンストラクタは定義されていました。 現在の状況ですが、少し進捗があったのでご報告させていただきます。 ・サーバのシャットダウン後、確認したところオブジェクトが表示されました。 (一度だけ確認できました) ・アセンブリキャッシュのバージョンが一致していないことが原因らいしことが解りました。 おそらく正しくないアセンブリのバージョンがキャッシュされているのだと思います。 この点についてもMSDNマガジンに以下のような注意書きがありました。
ヘルパーBATファイルとやらがなんなのかよくわからないのですが、アセンブリキャッシュを消す方法をご教授頂けないでしょうか。 現在C:\WINNT\assembly\Downloadフォルダ以下に山ほどControlsが存在しています。 | ||||||||
|
投稿日時: 2002-11-25 15:37
・・・面倒なのでAssemblyInfoファイル中の「<Assembly: AssemblyVersion("1.0.*")> 」を、「<Assembly: AssemblyVersion("1.0.0.0")> 」にしました。アスタリスクのままだと、コンパイルごとにバージョンをインクリメントしますが、4つに固定の数字を割り当てると、その数字でバージョンが固定します。リリース後は必ずアップデートしてください。これを("1.0")とかにしていると、"1.0"になったり、"1.0.0.0"になったり、安定しませんでした。 バッチファイルは、「Documents and Settings\USERNAME\Local Settings\Application Data\assembly\DLL」のディレクトリを消してやるように記述すればOKです。MSDN Magazineに載っていると思います。が、最後の「DLL」ですが、当方環境のエクスプローラ上では「Dl2」と表示されています。これを見て「なんや、書いてることちゃうやん」と、バッチファイルを作るのをやめました。 | ||||||||
|
投稿日時: 2002-11-25 15:39
> アセンブリキャッシュを消す方法をご教授頂けないでしょうか。
コマンドプロンプトで、以下のようにたたいてください。 gacutil /cdl VS.NETでは作成したアセンブリのバージョンは勝手にインクリメントしますが、 これは固定にしたほうがよい、という話はあちこちで聞きますね。。。 | ||||||||
|
投稿日時: 2002-11-25 17:34
皆様、レスありがとうございました。
おかげさまで無事アセンブリキャッシュを消すことが出来ました。 本件についても、やっと動作できる様になりました。 前提付きですが・・・ URLにhttp://localhost/hogehoge/〜 で入力し実行した場合、動作しました! どうやら今まで、http://サーバー名/hogehoge/〜 で実行していたのが間違いだったようです。 なぜ"localhost"だと動き"サーバ名"だと動かないのか新たな疑問が残りました。 ※動作確認はサーバで行っております。 | ||||||||
|
投稿日時: 2002-11-26 08:18
「セキュリティーポリシー」の設定と、DNS周りの設定を見直してください。 .NETでは、「インターネット」、「イントラネット」、「マイコンピュータ」、「信頼済みサイト」、「信頼しないサイト」の、大きく分けて5つのサイトからのアセンブリに対して「セキュリティー」を設定します。おそらく、「localhost」で接続すると「イントラネット」になっているのに対し、「サーバ名」で接続すると「インターネット」になっていると思われます。IEの右下に出ているので確認してください。 この問題があるので、必ずテストマシンを立てて、テストしておくことをおすすめします。.NETが入っていない場合、サーバと同じドメインの場合、違うドメインの場合(当方環境では動作が違いました)、Windows98&Meの場合、NTの場合、2000&XPの場合・・・嘘みたいですが、動作が微妙に違います。 | ||||||||
