문제

현재 ASP.NET 플랫폼을 실행하기 위해 새 서버를 준비하는 중입니다. 처음으로 64 비트 Windows (2008 R2)와 IIS7.5 (항상 7.0)에 설치하고 있습니다. 당사 웹 사이트는 X86으로 내장되어 있으므로 응용 프로그램 풀이 32 비트 응용 프로그램을 사용할 수있었습니다.

웹 사이트를 탐색 할 때 얻는 다음 오류에 갇혀 있습니다.

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

FuslogVW를 사용하여 .NET 바인딩 오류를 추적했습니다. 4 개의 어셈블리가 나타 났지만 처음으로 사이트를 탐색 할 때 일반 서버에서 동일한 4를 얻습니다. 어셈블리는 cppcodeprovider, vjsharpcodeprovider 및 두 개의 *.resources 파일입니다. 나는 이것을 조사했다. 나는 그들이이 문제의 원인이라고 생각하지 않는다.

다음으로 의존성 워커를 사용하여 웹 사이트의 주요 DLL을 연구했습니다. 누락 된 것은 없지만 다음과 같은 메시지를받습니다.

* Error: Modules with different CPU types were found.

.NET 어셈블리가 x86이고 다른 모든 종속성은 x64이기 때문에 이것이 문제라고 생각하지 않습니다.

따라서 "모듈"이 누락 된 ASP.Net이 무엇에 대해 불평하는지 알고 싶습니다.

도움이 되었습니까?

해결책

이것은 내 문제를 해결했다 : 나는 msvcr71.dll을 c : windows system32 및 c : windows syswow64에 배치해야했다.

다른 팁

설정하여 문제를 해결했습니다 32 비트 프로그램을 활성화합니다 에게 진실 앱 풀의 고급 설정 탭 아래.

32 비트 프로그램 http://zizhujy.com/blog/image.axd?picture=enable32bit.png를 활성화합니다

이 블로그 게시물의 세부 사항

최근 4.0 베타 1 앱을 R2에 넣을 때 비슷한 문제가 있었으며 비슷한 결과를 얻었습니다. 문제가 프로젝트에서 언급 된 핵심 .NET 어셈블리 중 하나가 (GAC에서) Copylocal True로 표시되었다는 것을 발견하는 데 꽤 시간이 걸렸습니다. 나는 어떻게 - 나는 확실히 고의적으로 그것을하지 않았고 아무도 아무도 그 일을하지 않았다. 일단 다시 설정하면 (그리고 현지 사본을 삭제해야했다고 생각합니다) 모든 것이 좋았습니다.

CPPCodeProvider의 문제에 대한 답을 여기에서 찾았습니다.http://www.experts-exchange.com/programming/languages/.net/.net_framework_2.0/q_24367712.html(로그인이 필요합니다)

"트레이스 정의 정의"를 끄거나 다른 문제로 컴퓨터에 .NET SDK를 설치하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top