- PR -

HTMLドキュメントからマネージドコードの読み込みについて

投稿者投稿内容
kaseda
会議室デビュー日: 2002/08/07
投稿数: 19
投稿日時: 2002-11-22 17:57
引用:

Controls.dll
|
+Sample.Controls
+DragListBox
+DragItem





すみません。左寄せされてしまって解りづらくなってしまいました。
もう一度記載させて頂きます。

Controls.dll
|
+Sample.Controls
 | +DragListBox
 |  | +DragItem
      ・
      ・
      ・
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-11-23 22:56
引用:

kasedaさんの書き込み (2002-11-22 11:18) より:
現在の状況は、ブラウザにListBoxが表示されず、
ステータスバーに"オブジェクトでサポートされていないプロパティまたはメソッドです。"
のメッセージが表示されています。


このメッセージですが、当方では確認できていません。ステータスバーではなく、オブジェクトを貼り付けたところに「×」のアイコンがでます。

 ところで、作ったクラスには、引数なしのコンストラクタが定義されていますか?これが無ければサポートされませんよ?(って、MSDN Magazineの記事にも書いてあるので大丈夫とは思いますが)
和哉提督
常連さん
会議室デビュー日: 2002/07/17
投稿数: 21
投稿日時: 2002-11-24 14:17
こんにちわ。提督@今日は今日とて・・・です。

引用:

 ところで、作ったクラスには、引数なしのコンストラクタが定義されていますか?これが無ければサポートされませんよ?(って、MSDN Magazineの記事にも書いてあるので大丈夫とは思いますが)



なんと・・・私が作ったのは引数なしのコンストラクタは定義してませんが、
とりあえず動いています・・・。
ただ、クラスのプロパティが空のときアレ?っていう動きはしてるので、
もしかしたら書かないとダメなんでしょうか・・・・・
(MSDN Magazineも買わなくちゃダメですねぇ・・・・)

ところで引数なしのコンストラクタの処理って何も書かなくても大丈夫ですよねぇ?

横からの突っ込みですみませんでした(苦笑)

以上

kaseda
会議室デビュー日: 2002/08/07
投稿数: 19
投稿日時: 2002-11-25 10:59
引用:

Jittaさんの書き込み (2002-11-23 22:56) より:
 ところで、作ったクラスには、引数なしのコンストラクタが定義されていますか?これが無ければサポートされませんよ?(って、MSDN Magazineの記事にも書いてあるので大丈夫とは思いますが)


御指摘ありがとうございました。コンストラクタの定義が必要だとは知りませんでした。
(たしかにMSDN Magazineに太字で記載がありました)
でもサンプルソース流用だった為、無事コンストラクタは定義されていました。

現在の状況ですが、少し進捗があったのでご報告させていただきます。
・サーバのシャットダウン後、確認したところオブジェクトが表示されました。
(一度だけ確認できました)
・アセンブリキャッシュのバージョンが一致していないことが原因らいしことが解りました。
おそらく正しくないアセンブリのバージョンがキャッシュされているのだと思います。
この点についてもMSDNマガジンに以下のような注意書きがありました。
引用:

MSDNマガジン より:
「開発時に追加したコードをテストしたければ、アセンブリのバージョンをいちいちインクリメントしなければならない。これを避けるためには、ヘルパーBATファイルを使って、アセンブリキャッシュからアセンブリを手作業で削除する必要がある。」


ヘルパーBATファイルとやらがなんなのかよくわからないのですが、アセンブリキャッシュを消す方法をご教授頂けないでしょうか。
現在C:\WINNT\assembly\Downloadフォルダ以下に山ほどControlsが存在しています。


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-11-25 15:37
引用:

kasedaさんの書き込み (2002-11-25 10:59) より:
引用:

MSDNマガジン より:
「開発時に追加したコードをテストしたければ、アセンブリのバージョンをいちいちインクリメントしなければならない。これを避けるためには、ヘルパーBATファイルを使って、アセンブリキャッシュからアセンブリを手作業で削除する必要がある。」


ヘルパーBATファイルとやらがなんなのかよくわからないのですが、アセンブリキャッシュを消す方法をご教授頂けないでしょうか。
現在C:WINNTassemblyDownloadフォルダ以下に山ほどControlsが存在しています。


 ・・・面倒なので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」と表示されています。これを見て「なんや、書いてることちゃうやん」と、バッチファイルを作るのをやめました。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2002-11-25 15:39
> アセンブリキャッシュを消す方法をご教授頂けないでしょうか。

コマンドプロンプトで、以下のようにたたいてください。
gacutil /cdl

VS.NETでは作成したアセンブリのバージョンは勝手にインクリメントしますが、
これは固定にしたほうがよい、という話はあちこちで聞きますね。。。
kaseda
会議室デビュー日: 2002/08/07
投稿数: 19
投稿日時: 2002-11-25 17:34
皆様、レスありがとうございました。
おかげさまで無事アセンブリキャッシュを消すことが出来ました。

本件についても、やっと動作できる様になりました。
前提付きですが・・・
URLにhttp://localhost/hogehoge/〜 で入力し実行した場合、動作しました!
どうやら今まで、http://サーバー名/hogehoge/〜 で実行していたのが間違いだったようです。
なぜ"localhost"だと動き"サーバ名"だと動かないのか新たな疑問が残りました。
※動作確認はサーバで行っております。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-11-26 08:18
引用:

kasedaさんの書き込み (2002-11-25 17:34) より:

本件についても、やっと動作できる様になりました。
前提付きですが・・・
URLにhttp://localhost/hogehoge/〜 で入力し実行した場合、動作しました!
どうやら今まで、http://サーバー名/hogehoge/〜 で実行していたのが間違いだったようです。
なぜ"localhost"だと動き"サーバ名"だと動かないのか新たな疑問が残りました。
※動作確認はサーバで行っております。


 「セキュリティーポリシー」の設定と、DNS周りの設定を見直してください。
 .NETでは、「インターネット」、「イントラネット」、「マイコンピュータ」、「信頼済みサイト」、「信頼しないサイト」の、大きく分けて5つのサイトからのアセンブリに対して「セキュリティー」を設定します。おそらく、「localhost」で接続すると「イントラネット」になっているのに対し、「サーバ名」で接続すると「インターネット」になっていると思われます。IEの右下に出ているので確認してください。
 この問題があるので、必ずテストマシンを立てて、テストしておくことをおすすめします。.NETが入っていない場合、サーバと同じドメインの場合、違うドメインの場合(当方環境では動作が違いました)、Windows98&Meの場合、NTの場合、2000&XPの場合・・・嘘みたいですが、動作が微妙に違います。

スキルアップ/キャリアアップ(JOB@IT)