Pergunta

Atualmente, estou preparando um novo servidor para executar nossa plataforma ASP.NET. Pela primeira vez, estou fazendo a instalação em um Windows de 64 bits (2008 R2) e com IIS7.5 (antes disso sempre 7.0). Nosso site foi construído no X86, então eu permiti que os pools de aplicativos usassem aplicativos de 32 bits.

Estou preso ao seguinte erro que recebo quando navego no site:

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

Eu usei o FUSLOGVW para rastrear quaisquer erros de ligação .NET: 4 Assembléias apareceram, mas recebo o mesmo 4 em nosso servidor regular ao navegar no site pela primeira vez. Os assemblies são CPPCodeProvider, VJSharpCodeProvider e dois de nossos arquivos *.Resources. Eu olhei para isso e não acho que eles sejam a causa desse problema, certamente não depois de descobrir que um ambiente de trabalho tem os mesmos assemblies ausentes no FusLogVW.

Em seguida, usei Walker de dependência para estudar a DLL principal do site. Nada parece estar faltando, mas recebo a seguinte mensagem:

* Error: Modules with different CPU types were found.

Não acho que isso seja um problema também porque minha montagem .NET é x86 e todas as outras dependências são x64.

Então, eu realmente quero saber do que está faltando o "módulo" ASP.NET.

Foi útil?

Solução

Isso resolveu meu problema: eu tive que colocar o msvcr71.dll em c: windows system32 e c: windows syswow64.

Outras dicas

Eu resolvi o problema configurando Habilitar programa de 32 bits para Verdadeiro Sob guia de configuração avançada do pool de aplicativos.

Habilitar 32 bits Programa http://zizhujy.com/blog/image.axd?picture=enable32bit.png

Detalhes nesta postagem do blog

Recentemente, tive um problema semelhante ao colocar um aplicativo BETA 1 4.0 em R2, com resultados semelhantes. Levei um bom tempo para descobrir que o problema era que um dos principais conjuntos .NET referenciados no projeto (do GAC) havia se tornado marcado como verdadeiro copilocal. Não faço ideia de como - certamente não fiz isso deliberadamente e ninguém mais funcionou nisso. Depois que eu coloquei isso de volta (e acho que tive que excluir a cópia local) tudo estava bem.

Encontrei a resposta para o meu problema com o CPPCodeProvider aqui:http://www.experts-exchange.com/programming/languages/.net/.net_framework_2.0/q_24367712.html(o login é necessário)

Desligue "Definir Trace Constant" ou instalar o .NET SDK no computador com o problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top