0

Visual Studio 2008 を使用して Windows 7 - 32 ビット プラットフォームで ASP.NET Web サイトを開発しました。

ホスティングを専用の Windows 2008 - 64 ビット サーバーに変更中です。

アプリケーションをデバッグするために、この新しいサーバーに Visual Studio をインストールしました。

Visual Studio 2008 独自の Web サーバー (IIS 7 ではない) を使用して、この新しいサーバーでアプリケーションを起動しようとすると、次のエラーが発生します。

32 ビット モードと 64 ビット モードの両方でアプリケーションをコンパイルしようとしました。また、「任意の CPU」にコンパイルしようとしました。しかし、何も役に立ちません。また、Visual Studio を管理者として実行しようとしましたが、成功しませんでした。

次のエラーが表示されます。

「/」アプリケーションでサーバー エラーが発生しました。
指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

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

ソース エラー:

現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。

スタックトレース:

[FileNotFoundException: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)]
   System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
   System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +43
   System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +127
   System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +142
   System.Reflection.Assembly.Load(String assemblyString) +28
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46

[ConfigurationErrorsException: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +105
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178
   System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName) +54
   System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp) +232
   System.Web.Compilation.BuildManager.CompileGlobalAsax() +51
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +337

[HttpException (0x80004005): 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)]
   System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +58
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +512
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager、IApplicationHost appHost、IConfigMapPathFactory configMapPathFactory、HostingEnvironmentParameters、hostingParameters) +729

[HttpException (0x80004005): 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext コンテキスト) +8897659
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext コンテキスト) +85
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +259

このエラーが表示される理由と解決方法を知っている人はいますか?

4

3 に答える 3

2

まず第一に、あなたが得ているエラーは欠落しているファイルに関連しているため、FileNotFoundException. HRESULT 0x8007007Eただし、管理されていない DLL が見つからないことを示す も取得しています。

これが私がこの問題に取り組む方法です:

  1. コードをステップ実行して、この例外が発生する場所を見つけます。これでHRESULT、アンマネージ DLL 関数が呼び出された行に例外があることがわかると思います。
  2. 使用しようとしているアンマネージ DLL を特定します。
  3. あることを確認してください。まず、使用しているものが適切な場所にあり、正しく参照されていることを確認する必要があります。それがすべて問題ない場合は、それら自体が持っている依存関係もそこにあることを確認してください。

また、手順 2 を完了した後、使用しているアンマネージ コードの種類 (つまり、実行に必要なコード自体の依存関係) をお知らせいただければ、さらにサポートできる場合があります。

私が助けてくれることを願っています!:)

于 2010-05-22T18:24:45.160 に答える
1

エラーは、プロセッサ固有のものとは関係ありません。このエラーの原因は明らかに不足しているファイルです。必要なすべてのファイルとアセンブリが新しい専用サーバーにインストールされていることを再確認しましたか?

于 2010-05-22T17:52:06.097 に答える
0

見つからなかったモジュールを示すエラー情報はありますか?

そうでない場合は、デプロイされた bin ディレクトリに、テスト サーバーでの作業時にサイトが持っていたすべてのものが含まれていることを確認します。次に、web.config を調べて、参照されているすべてのモジュールがターゲット サーバー上にあることを確認します。

于 2010-05-22T17:55:55.353 に答える