Pregunta

Actualmente estoy en el proceso de preparar un nuevo servidor para ejecutar nuestra plataforma ASP.NET. Por primera vez, hago la instalación en un Windows de 64 bits (2008 R2) y con IIS7.5 (antes de eso siempre 7.0). Nuestro sitio web está integrado en X86, por lo que habilité los grupos de aplicaciones para usar aplicaciones de 32 bits.

Estoy atrapado en el siguiente error que recibo cuando exploro el sitio web:

Server Error in '/' Application.



The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:



[FileNotFoundException: The specified module could not be found. (Exception from 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: The specified module could not be found. (Exception from 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.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) +600

   System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories) +125

   System.Web.Compilation.BuildManager.EnsureFirstTimeDirectoryInit(VirtualPath virtualDir) +8803959

   System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode) +219

   System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath) +43

   System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +59

   System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +101

   System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +126

   System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +62

   System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +33

   System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) +37

   System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +307

   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

He usado FUSLOGVW para rastrear cualquier error de enlace de .NET: se mostraron 4 ensamblados, pero obtengo los mismos 4 en nuestro servidor normal al navegar por primera vez por primera vez. Los ensamblajes son CPPCodeProvider, VJSharpCodeProvider y dos de nuestros archivos *.Resources. He investigado estos, y no creo que sean la causa de este problema, ciertamente no después de descubrir que un entorno de trabajo tiene los mismos ensamblajes faltantes en FUSLOGVW.

A continuación, utilicé Dependency Walker para estudiar la DLL principal del sitio web. Parece que no hay nada que falta, pero recibo el siguiente mensaje:

* Error: Modules with different CPU types were found.

No creo que este sea un problema también porque mi ensamblaje .NET es x86 y todas las otras dependencias son x64.

Así que realmente quiero saber de qué se está quejando ASP.NET de "módulo".

¿Fue útil?

Solución

Esto resolvió mi problema: tuve que colocar el msvcr71.dll en c: windows system32 y c: windows syswow64.

Otros consejos

Resolví el problema configurando Habilitar el programa de 32 bits a Verdadero En pestaña Avanzado de configuración del grupo de aplicaciones.

Habilitar el programa 32 bit http://zizhujy.com/blog/image.axd?picture=enable32bit.png

Detalles en esta publicación de blog

Recientemente tuve un problema similar al poner una aplicación 4.0 Beta 1 en R2, con resultados similares. Me tomó bastante tiempo descubrir que el problema era que uno de los conjuntos centrales .NET a los que se hace referencia en el proyecto (del GAC) se había marcado como verdadero copilocal. No tengo idea de cómo, ciertamente no lo hice deliberadamente y nadie más trabajó en eso. Una vez que retrasé eso (y creo que tuve que eliminar la copia local) todo estaba bien.

Encontré la respuesta para mi problema con cppCodeProvider aquí:http://www.experts-exchange.com/programming/languages/.net/.net_framework_2.0/q_24367712.html(Se requiere inicio de sesión)

Apague "Define Trace Constant" o instale el SDK .NET en la computadora con el problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top