Domanda

Sto tentando di migrare un'applicazione .NET 2.0 da Windows Server 2003 a Windows Server 2008.
Sto ricevendo l'errore - il modulo specificato non è stato trovato. (Eccezione da HRESULT: 0x8007007E)

Sembra che ci sia una dll mancante però io non riesco a scoprire quale. Ho copiato l'intera applicazione al nuovo sito che ho creato in IIS7.

Ho anche visto alcuni messaggi su rete circa la necessità della msvcr71.dll dll nella system32 e syswow64 cartelle in modo che ho provato, ma non ha funzionato.

Potrebbe esserci un problema con Windows Server 2008 R2 essendo un sistema operativo a 64 bit?

Grazie per qualsiasi aiuto in anticipo.

Maggiori dettagli dai registri delle applicazioni:

a System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String AssemblyName, booleano starDirective) a System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () in System.Web.Configuration.CompilationSection.LoadAssembly (AssemblyInfo AI) a System.Web .Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) a System.Web.Compilation.WebDirectoryBatchCompiler..ctor (vdir VirtualDirectory) a System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal (vDIR VirtualDirectory, booleano IgnoreErrors) a System.Web.Compilation.BuildManager .BatchCompileWebDirectory (vdir VirtualDirectory, VirtualPath VirtualDir, booleano IgnoreErrors) a System.Web.Compilation.BuildManager.CompileWebFile (VirtualPath virtualPath) a System.Web.Compilation.BuildManager.GetVPathBuildResultInternal (VirtualPath virtualPath, booleano noBuild, booleano allowCrossApp, booleano allowBuildInPrecompile) a System.Web.Compilation.BuildManager.GetVPathBui ldResultWithNoAssert (HttpContext contesto, VirtualPath virtualPath, booleano noBuild, booleano allowCrossApp, booleano allowBuildInPrecompile) a System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory (VirtualPath virtualPath, HttpContext contesto, booleano allowCrossApp, booleano noAssert) a System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath (VirtualPath virtualPath, Tipo requiredBaseType, HttpContext contesto, booleano allowCrossApp, booleano noAssert) a System.Web.UI.PageHandlerFactory.GetHandlerHelper (HttpContext contesto, String RequestType, VirtualPath virtualPath, String physicalPath) a System.Web.UI.PageHandlerFactory.System. Web.IHttpHandlerFactory2.GetHandler (HttpContext contesto, String RequestType, VirtualPath virtualPath, String physicalPath) a System.Web.HttpApplication.MapHttpHandler (HttpContext contesto, String RequestType, percorso VirtualPath, String pathTranslated, booleano useAppConfig) a System.Web.HttpApplication.MapHandlerExecutionStep .System.Web.HttpAppl ication.IExecutionStep.Execute () in System.Web.HttpApplication.ExecuteStep (IExecutionStep step, Boolean & completedSynchronously)

EDIT:

Ecco ulteriori informazioni sulla configurazione di IIS:

Ho una configurazione sito principale su un insieme apppool in modalità classica - ho anche impostare l'esecuzione a 32 bit delle applicazioni. Ho messo solo un file Test.aspx semplice all'interno di quella cartella e funziona benissimo. Ho poi avuto una sottodirectory che in realtà contiene l'applicazione che sto cercando di migrare. Ho aggiunto un altro file Test.aspx in là e posso navigare ad esso bene.

Quando vado nella sottodirectory e ne fanno una directory di applicazione il file Test.aspx non funziona più ed ottengo l'errore di cui sopra.

Spero che questo possa chiarire meglio il mio problema.

È stato utile?

Soluzione

ho capito il mio problema.

C'è una DLL NTidy.dll nella cartella bin.

Questa dll richiesto le seguenti DLL di essere nella cartella System32:

  • msvcp71d.dll (Microsoft C ++ Runtime Library)
  • msvcp71.dll (Microsoft C ++ Runtime Library)
  • msvcr71d.dll (Microsoft C Runtime Library)
  • msvcr71.dll (Microsoft C Runtime Library)

Una volta ho aggiunto quelle DLL l'applicazione ha cominciato a lavorare.

Grazie

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top