理解错误报告

本文关键字:报告 错误 | 更新日期: 2023-09-27 18:15:33

谁能帮我理解这个错误报告:

Error: Object reference not set to an instance of an object.
at Project.Web.Config.Data.DataProvider.get_ConfigSettingsConnectionString() 
at Project.Web.Config.Data.DataProvider.GetConfigSettings() 
at Project.Web.Config.ConfigBase.GetConfigSettings() 
at Project.Web.Config.ConfigBase.GetConfigSettingValue(String configName) 
at Project.Web.Config.ConfigBase.StringConfigSetting(String configName, String defaultValue) 
at Project.Web.Config.Brands.get_BrandsConnectionString() 
at Project.Web.Engine.Brands.Data.BrandsDataProvider.GetBrandByHostname(String hostname) 
at Project.Web.Engine.Brands.Brands.CurrentBrand() 
at Project.Web.Engine.Placeholders.BrandedResource.GetHtmlContent(String resourcePostingName, String resourceName, String cultureCode) 
at Project.BWMembership.TranslationHelper.GetTranslation(String sResourcePostingName, String sResourceName, String sCultureCode) 
at Project.BWMembership.TranslationHelper.TranslateCountries(ListResponse[] arrCountries, String sCultureCodes) 
at ASP.update_aspx.Bind(Member oMembership, Order oOrder) in c:'Projects'Project'zsys_admin'update.aspx:line 82 
at ASP.update_aspx.Page_Load(Object sender, EventArgs e) in c:'Projects'Project'zsys_admin'update.aspx:line 58

我知道它告诉我有一个空对象,它来自:

at Project.Web.Config.Data.DataProvider.get_ConfigSettingsConnectionString()

我知道剩下的数据是导致错误

的方法列表

我正在尝试确定null对象是什么以及如何解决它。

我知道每一行对应调用一个方法,例如,我可以调用方法:

Project.BWMembership.TranslationHelper.TranslateCountries(ListResponse[] arrCountries, String sCultureCodes)
在我的代码中输入

。我知道这个方法在DLL中:

Project.BWMembership

和class:

TranslationHelper

方法被调用:

TranslateCountries(ListResponse[] arrCountries, String sCultureCodes)

但是当我输入:

Project.Web.Config.Data.DataProvider.get_ConfigSettingsConnectionString()

它不识别这个

Visual studio将为我提供以下代码:

Project.Web.Config

但从那里将停止。

是否Config是一个类名,而Data是项目中包含的另一个DLL的实例?Web并在此方法中实例化?

如果是这样,我可以假设在这个DLL中有一个叫做DataProvider的类,它有一个叫做Get_ConfigSettingsConnectionString()的方法吗?

如果是这样的话,这是否意味着这实际上是在试图找到一些不存在的数据?例如,它正在寻找一个连接字符串,要么不存在于现有的web配置,或正在寻找一个不存在的web配置?

还是Project.Web.Config指的是DLL的配置文件?

这就引出了一系列全新的问题!

理解错误报告

没有名为get_ConfigSettingsConnectionString()的方法,但在DataProvider类中有一个名为ConfigSettingsConnectionString的属性(参见此SO答案)。

一般来说,您不能从完整的类型名推断出DLL的确切名称:例如,System.Int32来自mscorlib.dll

现在,你所遇到的错误告诉你的是,在get部分的属性中有一些东西正在访问null对象引用