2015-10-01 91 views
1

誰能幫我理解這個錯誤報告:理解錯誤報告

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() 

我知道其餘的數據是導致錯誤的方法列表

我想確定什麼是空對象以及如何解決它。

我知道每一行對應於調用一個方法,例如,我可以調用方法:

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的配置文件?

這打開了一整套新的問題!

回答

0

沒有名爲get_ConfigSettingsConnectionString()的方法,但在DataProvider類中有一個名爲ConfigSettingsConnectionString(請參見this SO answer)的工藝。

一般而言,您無法從full type name推斷出DLL的確切名稱:例如,System.Int32來自mscorlib.dll

現在,您遇到的錯誤是告訴您,get裏面有一些屬性訪問null對象引用。