Сбой DotNetNuke после обновления до v6.1.1 от 5.3.1 - PullRequest
0 голосов
/ 21 ноября 2011

После обновления DNN до последней версии мой сайт не работает.Я подозреваю, что это проблема, связанная с темой, поскольку я занимался отладкой.Но я не могу сузить это дальше.

Текущая трассировка стека с моего сайта выглядит следующим образом:

[NullReferenceException: Object reference not set to an instance of an object.]
    DotNetNuke.UI.Containers.ActionBase.get_ModuleContext() +6
    DotNetNuke.UI.Containers.ActionBase.get_ActionRoot() +30
    DotNetNuke.UI.Containers.ActionBase.OnLoad(EventArgs e) +42

[ModuleLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, Control ctrl, Exception exc, Boolean DisplayErrorMessage) +400

[PageLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL) +323
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc) +89
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, Control ctrl, Exception exc, Boolean DisplayErrorMessage) +525
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(Control ctrl, Exception exc, Boolean DisplayErrorMessage) +189
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(Control ctrl, Exception exc) +40
    DotNetNuke.UI.Containers.ActionBase.OnLoad(EventArgs e) +85
    DotNetNuke.Web.DDRMenu.Actions.OnLoad(EventArgs e) +67
    System.Web.UI.Control.LoadRecursive() +50
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

[PageLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL) +323
    DotNetNuke.Framework.PageBase.OnError(EventArgs e) +450
    System.Web.UI.Page.HandleError(Exception e) +84
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6776
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
    System.Web.UI.Page.ProcessRequest() +80
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49
    ASP.default_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\84194812\86a29f2c\App_Web_toxjy2nh.0.cs:0
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

Из этого я вижу, что это как-то связано с компонентом DDRMenu.Я пробовал свои собственные скины для сайта, и для тех же строк что-то говорит о SolPartMenu / Action.

Помощь очень ценится!

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

У меня была такая же проблема при тестировании перехода на 6.x, и вам нужна последняя версия меню DDR, но я подозреваю, что, поскольку вы не можете войти в систему, вы не можете установить ее.

Я не уверен, какие шаги, если можно, вы можете вырезать из этого, но это то, что я сделал.

  1. вернуться к 5.6.3 из резервных копий
  2. Отключить сжатие в настройках хоста
  3. Установить минимальную экстропию в качестве обложки по умолчанию
  4. установить en-US в качестве языка по умолчанию (не уверен, если это необходимо, это было для одного обновления, и я склонен это делатьдля крупных обновлений сейчас)
  5. Установите DNN Nav в качестве поставщика навигации по умолчанию в web.config
  6. Измените контейнеры для использования <% @ Register TagPrefix = "dnn" TagName = "ACTIONS" Src = "~ / Admin / Containers / Actions.ascx "%>
  7. Удалить DDRmenu 1.2.2
  8. Удалить DDRMenuNavigationProvider в web.config
  9. Сделать новые резервные копии базы данных и файловой системы
  10. Обновление до 6.x
  11. Обновление до DDR Menu v2.00.0
  12. Установка приложенияв пуле для использования .Net4
  13. Повторно примените обложку к паре страниц, чтобы проверить все работы, если все в порядке, сбросьте обложку по умолчанию
  14. Сбросьте сжатие и язык по умолчанию, если необходимо

Надеюсь, это поможет

0 голосов
/ 26 ноября 2011

Проблема, которую вы видите, возникает в результате конфликта между тем, как работает DNN Upgrader, и тем, как новое меню DDR хочет быть обновлено.Программа обновления DNN помещает файл DDRMenu.dll в каталог bin, но не запускает для него код IUpgrade, поэтому настройки DLL, кода и web.config не совпадают.Следующая версия DDR Menu должна решить эту проблему.

Рекомендация Барри должна решить проблему, хотя это больше шагов, чем я бы предпринял.Первым делом я попробую заменить новую библиотеку DDRMenu DLL (DotNetNuke.Web.DDRMenu.dll) на старую перед обновлением и посмотреть, запустится ли ваш сайт.Если это произойдет, то вы можете установить новейшую версию DDRMenu, и вы должны быть готовы.

Если это не сработает, я обычно пробую комбинацию кода и настроек из кода перед обновлением и удачной установкой DNN 6.1.1, которая прошла гладко, пока проблема не решилась.Хотелось бы, чтобы у меня был более конкретный ответ, но я обычно спешу (потому что сайт не работает), поэтому я не потратил время на написание более научного подхода.со следующей версией меню DDR, и проблема затрагивает только сайты, которые уже использовали меню DDR.Но все же, это не так гладко, как должно быть.

...