了解错误报告

时间:2015-10-01 11:13:03

标签: c#

任何人都可以帮我理解这个错误报告:

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

并在课堂上:

TranslationHelper

并调用该方法:

TranslateCountries(ListResponse[] arrCountries, String sCultureCodes)

但是当我输入时:

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

它不承认这一点。

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

Project.Web.Config

但是从那里就会停止。

Config是否是类名,Data是Project.Web中包含的不同DLL的实例并在此方法中实例化?

如果是这样,我可以假设此DLL中有一个名为DataProvider的类,其中有一个名为Get_ConfigSettingsConnectionString()的方法吗?

如果是这种情况,这是否意味着基本上这是试图找到一些不存在的数据?例如,它是在寻找现有Web配置中不存在的连接字符串,还是在寻找不存在的Web配置?

或者Project.Web.Config是否指向DLL的配置文件?

这开启了一整套新问题!

1 个答案:

答案 0 :(得分:0)

没有名为get_ConfigSettingsConnectionString()的方法,但在课程ConfigSettingsConnectionString中有一个名为DataProvider(见this SO answer)的属性。

一般来说,您无法从full type name推断出DLL的确切名称:例如,System.Int32来自mscorlib.dll

现在,您所遇到的错误告诉您,所述属性的get部分内部正在访问null对象引用。