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的应用程序开始工作。

谢谢

相关问题