перенести приложение .net 2.0 из windows server 2003 / iis6 в windows server 2008 R2 / iis7 - PullRequest
0 голосов
/ 17 ноября 2010

Я пытаюсь перенести приложение .net 2.0 из Windows Server 2003 в Windows Server 2008.
Я получаю сообщение об ошибке - Указанный модуль не найден.(Исключение из HRESULT: 0x8007007E)

Кажется, что отсутствует dll, но я не могу выяснить, какой именно.Я скопировал все приложение на новый веб-сайт, созданный в IIS7.

Я также видел несколько сообщений в сети о необходимости dll msvcr71.dll в папках system32 и syswow64, поэтому я попытался это сделать, однако это не помогло.не работает.

Может ли быть проблема с 64-битной ОС Windows Server 2008 R2?

Заранее благодарен за любую помощь.

Подробнее из журналов приложений:

в System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) в System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () .Conf.в System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) в System.Web.Compilation.WebDirectoryBatchCompiler..ctor (VirtualDirectory vdir) в System.Web.Compilation.BuildManager.BatchCompileWirDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryDirectoryBirectoryBirectoryBirectory.m.Web.Compilation.BuildManager.BatchCompileWebDirectory (VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors) в System.Web.Compilation.BuildManager.CompileWebFile (VirtualPath virtualPath) в System.Web.CompilagerBathPlayBilePutableBuildMuЛогическое allowCrossApp, булева allowBuildInPrecompile) в System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert (контекст HttpContext, виртуальный_путь виртуальный_путь, булева noBuild, булева allowCrossApp, булева allowBuildInPrecompile) при System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory (виртуальный_путь виртуальный_пути, HttpContext контекста, логическиеallowCrossApp, Boolean noAssert) в System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath (VirtualPath virtualPath, тип requiredBaseType, HttpContext, логический аргумент allowCrossApp, логический noAssert) в системном.Web.UI.Phintl_PlayerHDualPath, String PhysicalPath) в System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler (контекст HttpContext, String requestType, VirtualPath virtualPath, String физический путь) в System.Web.HttpApplication.path, String pathTranslated, Boolean useAppConfig) в System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () в System.Web.HttpApplication.Execute * * Выполнено * * 1015:

Вот дополнительная информация о конфигурации IIS:

У меня есть настройка основного веб-сайта для набора приложений в классическом режиме - я также настроил его для запуска 32-разрядных приложений.Я поместил в эту папку просто простой файл test.aspx, и он отлично работает.Затем у меня есть подкаталог, который фактически содержит приложение, которое я пытаюсь перенести.Я добавил туда еще один файл test.aspx, и я могу нормально на него перейти.

Когда я захожу в подкаталог и делаю его каталогом приложений, файл test.aspx больше не работает, и я получаю сообщение об ошибке выше.

Надеюсь, это поможет пролить свет на мою проблему.

1 Ответ

1 голос
/ 18 ноября 2010

Я разобрался с собственной проблемой.

В папке bin находится DLL NTidy.dll.

Эта dll требовала, чтобы в папке system32 находились следующие dll:

  • msvcp71d.dll (библиотека времени выполнения Microsoft C ++)
  • msvcp71.dll (библиотека времени выполнения Microsoft C ++)
  • msvcr71d.dll (библиотека времени выполнения Microsoft C)
  • msvcr71.dll (библиотека времени выполнения Microsoft C)

Как только я добавил эти dll, приложение начало работать.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...