2

ローカル iis7 (Windows 7) で公開サイトを閲覧するときに問題が発生します。

F5 (dev iis) を使用して VS2008 を介して asp.net サイトを参照すると、正常に動作します。公開して閲覧すると、次のようになります。

「/MySite」アプリケーションでサーバー エラーが発生しました。

指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)

説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.IO.FileNotFoundException: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)

スタック トレースでも、問題のある dll に関する手がかりは得られません。同じ公開フォルダーを別のマシン (Windows 7 32 ビットおよび iis 7 でも) にコピーしたところ、動作しました。

これは私のマシンへの iis の新規インストールであるため、「Windows の機能をオン/オフにする」で一致する選択項目を確認しました。この問題に気付いた後、「aspnet_regiis」ユーティリティも実行しましたが、問題は残ります。

Web サイトにはいくつかの外部 dll (ネイティブおよびマネージド) が含まれており、それらはすべて公開された bin フォルダー (開発 bin フォルダーと同じ) に表示されます。

洞察はありますか?

乾杯、

シェイ

4

4 に答える 4

3

このスレッドから収集されたように: http://social.msdn.microsoft.com/forums/en-US/netfx64bit/thread/f609f52e-00f6-4ada-9d6e-7129b85d3d4d/、スレッドの下部に向かって言及されているように (2 番目に現在の最後の投稿)、私たちの問題は「不正な」dll、Microsoft.SqlServer.Replication.dllでした。dll を削除しただけで、エラーはなくなりました。さらに、ソリューション内のプロジェクトがこの dll を参照していないため、bin ファイルから削除しただけで、その後のビルド/公開では dll が追加されません。そもそもdllがどのようにしてbinファイルに入ったのかわかりません。大学のいたずらかもしれません。

于 2011-10-21T17:42:02.100 に答える
2

ネイティブ dll は、PATH で検索可能であると想定されています。問題は、それらがシステム PATH ではなくユーザー PATH の下にあったため、VS では正常に機能しましたが、IIS では機能しませんでした。dll フォルダーをシステム PATH に追加すると、すべてが機能しました...

于 2010-02-20T06:53:18.490 に答える