未在Sitecore 7.2更新中显示对象引用未设置为对象错误的实例

时间:2015-03-19 06:33:08

标签: sitecore sitecore7 sitecore7.2

当我安装Sitecore更新包7.2时,Object reference not set to an instance of an object error显示并且未安装包:

  

' /'中的服务器错误应用。对象引用未设置为   对象的实例。描述:发生了未处理的异常   在执行当前Web请求期间。请查看   堆栈跟踪以获取有关错误及其位置的更多信息   起源于代码。

     

异常详细信息:System.NullReferenceException:不是对象引用   设置为对象的实例。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[NullReferenceException:对象引用未设置为的实例   object。] Sitecore.Update.InstallUpdatePackage.WriteMessage(Object   message,Exception ex,Level level,Boolean isCommandText)+501
  Sitecore.Update.InstallUpdatePackage.WriteSupportInstructions(字符串   historyPath,exception ex)+807
  Sitecore.Update.InstallUpdatePackage.OnLoad(EventArgs e)+1055
  System.Web.UI.Control.LoadRecursive()+70
  System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)   3177

请同时查看以下详细信息:

  

异常详细信息:System.Exception:无法执行安装后   动作,因为找不到安装数据。在   Sitecore.Update.InstallUpdatePackage.ExecutePostStep(MetadataView   在Sitecore.Update.InstallUpdatePackage.OnLoad(EventArgs e)

1 个答案:

答案 0 :(得分: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();
}

请查看here了解详情。