- PR -

移行したスマートクライアントがFileLoadException

1
投稿者投稿内容
ゆにくま
会議室デビュー日: 2008/11/26
投稿数: 3
投稿日時: 2009-01-08 19:02
お世話になります。ゆにくまと申します。
現在、ASP.NET+VB2003で作成したWebアプリケーションをVB2008へ移行するという作業を行っています。
元のアプリにはスマートクライアント+Webメソッドを使用した、ActiveX DLLによるユーザサイドからのデータ取得処理があり、これについても移行対象としています。

動作としては、
1)HTMLページにGset.dllをObjectとして埋め込み
2)ボタンクリックで1)のオブジェクトを起動
3)クライアント側で表示された画面でユーザが情報入力/選択実行
4)結果をWebメソッド経由で取得
という形になっており、内部から自社の別プロジェクトも参照/呼び出しをしています。

このDLL(VS2008版)を動作させたところ、以下のようなエラーが発生してしまいました。

System.IO.FileLoadException: ファイルまたはアセンブリ 'http://localhost:3833/Shared/GSet.dll'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外: 0x80131040)
ファイル名 'http://localhost:3833/Shared/GSet.dll' です。

アセンブリの不整合であろう、という気はしているのですが、具体的な原因をどのように調査すればよいかまったくわかりません。
テストプログラムを作成し、GSet.dllのAssemblyNameなども見てみたのですが、エラーになる原因項目がわかりません。
上記のDLLをWindowsフォームから呼び出した場合は上記のエラーは発生しません。

何が原因かを解明するには何をどのように調査すればよいか、あるいはチェックすべき項目などに、何かお分かりの方がいらっしゃいましたらご教授よろしくお願い致します。
q
ベテラン
会議室デビュー日: 2009/01/06
投稿数: 54
投稿日時: 2009-01-10 10:33
(利用規約違反のため削除いたしました。@ITクラブメンバーシップセンター)
ゆにくま
会議室デビュー日: 2008/11/26
投稿数: 3
投稿日時: 2009-01-13 10:19
自己レスです。
問題が発生していた環境は、ASP.NET開発サーバだったのですが、IISでの動作に切り替えたところ問題は発生しなくなりました。
なぜ初回だけ問題なく動作したのか理由は不明です。
(開発サーバのポートを固定していたことも一因なのかもしれません)
実際の動作環境もIISなので、今後は環境を移行して作業することにしました。
ありがとうございました。
1

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