3

ASP.NET 3.5 Web サイトを実行している Windows Server 2003 仮想マシンの奇妙な状況にリモートで対処してきました... または、少なくともそれを実行しようとしています。

Web サイトは、プロジェクトの標準インストーラーを使用してインストールされました。このインストーラーは、いくつかの異なる場所にインストールするために使用されています。ただし、これは動作が異なります。

Web サイトを実行すると失敗します。イベント ビューアーで、次のエラーが報告されます。

例外情報: 例外の種類: HttpException 例外メッセージ: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)

エラーは Web サイトで次のように報告されています。

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

Fusion ログ ビューアーを実行すると、ASP.NET が次のアセンブリを読み込もうとしていることがわかります。

CppCodeProvider、バージョン = 8.0.0.0、カルチャ = ニュートラル、PublicKeyToken = b03f5f7f11d50a3a VJSharpCodeProvider、バージョン = 2.0.0.0、カルチャ = ニュートラル、PublicKeyToken = b03f5f7f11d50a3a

まず、ASP.NET がこれらのアセンブリをロードする必要がある理由はありません。これらのアセンブリが必要に応じてリストされている machine.config またはその他の構成のどこにも見つかりません。3.5 SDK をインストールしようとしましたが、どちらもインストールされませんでした。私の開発マシンにはバージョン 10 の CPPCodeProvider しかありません。

ここで一体何が起こっているのですか??

注意: 大雑把な Google 検索と回答を行わないでください。私が見つけたものは何も当てはまりません。そして誰かが答えたら

「DEBUG定数の定義」と「TRACE定数の定義」

私はインターチューブを通してあなたを殴るつもりです。

4

1 に答える 1

4

いまいましい赤いニシン。

msvc71.dll に依存する依存関係があることがわかりました。私の仮想マシンにはこの DLL がなかったため、依存関係の読み込みに失敗しました。ただし、コード (および率直に言って、フレームワークのこの部分) のくだらない例外メッセージのため、このエラーは次のように表示されました。

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

このようなものを見たときの私の最初の本能は、回転することfuslogvwです。ここで、フュージョン ロギングをオンにすると、それがCppCodeProvider見つかりVJSharpCodeProviderませんでした。だから、これらがエラーの原因だと思いました。QED。

彼らは、〜でなかった。 Fusion がそれらを特定できなかったという事実は、ASP.NET Web サイトの実行にはまったく影響しません。 これをよく知っている、インターネット検索者!その赤いニシンです !

最初からすべきことをしたときにこれを理解しました-サーバーにProcess Monitorをドロップし、DLLをロードしようとするw3wpプロセスを監視するようにフィルターを設定し、FILE NOT FOUNDを待ちました。

開発マシン (Sql Server にあった) で msvc71.dll のコピーを見つけ、それを仮想ボックスの system32 にドロップしました。私がしなければならなかったのは、Network Service に DLL の読み取りと実行のアクセス許可を許可することだけで、すべてが再び機能していました。

于 2011-02-03T16:59:32.113 に答える