我正在尝试将.net 2.0应用程序从Windows Server 2003迁移到Windows Server 2008 我收到错误 - 找不到指定的模块。 (HRESULT异常:0x8007007E)
似乎有一个dll缺失,但我似乎无法找出哪一个。我将整个应用程序复制到我在IIS7中创建的新网站。
我还在网上看到一些关于在system32和syswow64文件夹中需要dll msvcr71.dll的帖子所以我试过了,但是它没有用。
Windows Server 2008 R2是64位操作系统会出现问题吗?
感谢您提前提供任何帮助。
应用程序日志中的更多详细信息:
System.Web上的System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)上的System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()中的System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)上的System.Web.Compilation.BuildManager上System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir,Boolean ignoreErrors)的System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir)中的.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)位于System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile)的System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)上的.BatchCompileWebDirectory(VirtualDirectory vdir,VirtualPath virtualDir,Boolean ignoreErrors)at at System.Web.Compilation.BuildManager.GetVPathBui System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath上的System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath,HttpContext context,Boolean allowCrossApp,Boolean noAssert)中的ldResultWithNoAssert(HttpContext上下文,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile) (VirtualPath virtualPath,Type requiredBaseType,HttpContext context,Boolean allowCrossApp,Boolean noAssert)位于System.Web.UI.PageHandlerFactory.System的System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context,String requestType,VirtualPath virtualPath,String physicalPath)。 System.Web.HttpApplication.MapHandlerExecutionStep上的System.Web.HttpApplication.MapHttpHandler(HttpContext上下文,String requestType,VirtualPath路径,String pathTranslated,Boolean useAppConfig)中的Web.IHttpHandlerFactory2.GetHandler(HttpContext上下文,String requestType,VirtualPath virtualPath,String physicalPath) .System.Web.HttpAppl System.Web.HttpApplication.ExecuteStep的Iication.IExecutionStep.Execute()(IExecutionStep step,Boolean&已完成(同步)
编辑:
以下是有关IIS配置的更多信息:
我在经典模式下设置的apppool上设置了主网站 - 我还将其设置为运行32位应用程序。我在该文件夹中只放了一个简单的test.aspx文件,它工作正常。然后我有一个子目录,它实际上包含我试图迁移的应用程序。我在那里添加了另一个test.aspx文件,我可以很好地导航到它。
当我进入子目录并使其成为应用程序目录时,test.aspx文件不再有效,我收到上述错误。
我希望这会对我的问题有所了解。
答案 0 :(得分:1)
我想出了自己的问题。
bin文件夹中有一个DLL NTidy.dll。
此dll需要以下dll位于system32文件夹中:
一旦我添加了这些dll,应用程序就开始工作了。
由于