0

我正在嘗試從Windows Server 2003遷移到Windows Server 2008的.net 2.0應用程序。
我收到錯誤 - 指定模塊找不到。 (異常來自HRESULT:0x8007007E)從Windows Server 2003/IIS 6遷移到Windows Server 2008 R2/iis7

似乎有一個DLL丟失,但我似乎無法找出哪一個。我將整個應用程序複製到我在IIS7中創建的新網站。

我也在網上看到了一些關於在system32和syswow64文件夾中需要dll msvcr71.dll的帖子,所以我嘗試過,但是它沒有工作。

Windows Server 2008 R2是一個64位操作系統會有問題嗎?

感謝您提前提供任何幫助。從應用程序日誌

的更多細節:

在System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串的AssemblyName,布爾starDirective)在System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()在System.Web.Configuration System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir)在System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir)上的System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)中的CompilationSection.LoadAssembly(AssemblyInfo ai) ,Boolean ignoreErrors)在System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir,VirtualPath virtualDir,Boolean ignoreErrors)在System.Web在System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile)處編譯.BuildManager.CompileWebFile(VirtualPath virtualPath)布爾noBuild,布爾allowCrossApp,布爾allowBuildInPrecompile)在System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(虛擬路徑virtualPath,HttpContext上下文,布爾allowCrossApp,布爾noAssert)在System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath,Type requiredBaseType,HttpContext在System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext上下文,字符串requestType,VirtualPath虛擬路徑,字符串physicalPath)在System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext上下文,布爾allowCrossApp,布爾noAssert) ,String r在System.Web.HttpApplication.MapHttpHandler(HttpContext上下文,字符串requestType,VirtualPath路徑,字符串pathTranslated,布爾useAppConfig)上System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute上的equestType,VirtualPath virtualPath,字符串physicalPath) ()在System.Web.HttpApplication.ExecuteStep(IExecutionStep步驟,布爾& completedSynchronously)

編輯:

下面是有關IIS配置的詳細信息:

我有一個主站設置上的程序池設置爲經典模式 - 我也將其設置爲運行32位應用程序。我在該文件夾中放了一個簡單的test.aspx文件,它工作正常。然後我有一個子目錄,它實際上擁有我正在嘗試遷移的應用程序。我在那裏添加了另一個test.aspx文件,我可以導航到它。

當我去到子目錄,並使其成爲一個應用程序目錄test.aspx文件不再起作用,我得到上述錯誤。

我希望這會對我的問題有更多的瞭解。

+0

您的程序集編譯爲64位,32位或「任何CPU」? – David 2010-11-17 22:58:11

+0

所有內容均爲任何CPU編譯 – JustLogic 2010-11-17 23:26:43

回答

1

我想出了我自己的問題。

bin文件夾中有一個DLL NTidy.dll。

此DLL所需要的以下的DLL將在system32文件夾:

  • msvcp71d.dll(微軟C++運行時庫)
  • 將msvcp71.dll(微軟C++運行時庫)
  • msvcr71d.dll (Microsoft C運行時庫)
  • MSVCR71.DLL(Microsoft C運行時庫)

一旦我加壽se dlls的應用程序開始工作。

謝謝

相關問題