Ссылка на объект не указывает на экземпляр ошибки объекта, отображаемой в обновлении Sitecore 7.2.

Когда я устанавливаю пакет обновления Sitecore 7.2, появляется Object reference not set to an instance of an object error, а пакет не установлен:

Ошибка сервера в приложении '/' В экземпляре объекта не задана ссылка на объект. Описание: во время выполнения текущего веб-запроса возникло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.NullReferenceException: ссылка на объект не указывает на экземпляр объекта.

Ошибка источника:

Во время выполнения текущего веб-запроса возникло необработанное исключение. Информацию о происхождении и расположении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

Трассировки стека:

[NullReferenceException: ссылка на объект не указывает на экземпляр объекта.] Sitecore.Update.InstallUpdatePackage.WriteMessage(Сообщение объекта, Исключение ex, Уровень уровня, Boolean isCommandText) +501
Sitecore.Update.InstallUpdatePackage.WriteSupportInstructions(String historyPath , Exception ex) +807
Sitecore.Update.InstallUpdatePackage.OnLoad(EventArgs e) +1055
System.Web.UI.Control.LoadRecursive() +70
System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) +3177

Пожалуйста, ознакомьтесь также со следующими деталями:

Сведения об исключении: System.Exception: невозможно выполнить действие после установки, поскольку данные установки не найдены. в Sitecore.Update.InstallUpdatePackage.ExecutePostStep(представление MetadataView) в Sitecore.Update.InstallUpdatePackage.OnLoad(EventArgs e)


person user3913751    schedule 19.03.2015    source источник
comment
Речь идет о начальном пакете 7.2, Sitecore 7.2 rev. 140228.update ?, и хорошо ли выполняется задача «Анализ»? во временной папке вы найдете файл журнала, там вы можете увидеть последние шаги, чтобы вы знали, на каком файле / элементе обновить файл.   -  person Jan Bluemink    schedule 19.03.2015


Ответы (1)


Это очень распространенная ошибка, которая может возникать по разным причинам. Основная причина действительно зависит от конкретного сценария, с которым вы столкнулись.

Если вы используете API или вызываете методы, которые могут возвращать значение null, важно корректно с этим справиться. Приведенный выше основной метод можно изменить таким образом, чтобы исключение NullReferenceException никогда не отображалось пользователем:

static void Main(string[] args)
{
    var exampleClass = new ExampleClass();
    var returnedClass = exampleClass.ExampleMethod();

    if (returnedClass == null)
    {
        //throw a meaningful exception or give some useful feedback to the user!
        return;
    }

    returnedClass.AnotherExampleMethod();
}

Пожалуйста, проверьте здесь для подробностей.

person MSTdev    schedule 19.03.2015
comment
Я также опубликовал трассировку ошибки в вопросе. Пожалуйста, просмотрите это. на самом деле мы обновляем ядро ​​сайта, поэтому мы не можем углубляться и изменять код, как вы упомянули. - person user3913751; 19.03.2015
comment
просто обрабатывать нулевое значение - person MSTdev; 19.03.2015