任何人都可以帮我理解这个错误报告:
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的配置文件?
这开启了一整套新问题!
答案 0 :(得分:0)
没有名为get_ConfigSettingsConnectionString()
的方法,但在课程ConfigSettingsConnectionString
中有一个名为DataProvider
(见this SO answer)的属性。
一般来说,您无法从full type name推断出DLL的确切名称:例如,System.Int32
来自mscorlib.dll
。
现在,您所遇到的错误告诉您,所述属性的get
部分内部正在访问null
对象引用。