Extensions Error

Topics: Controls, Themes
Mar 16, 2009 at 5:22 AM
Hey everyone,

I'm new to all this so I apologize if this is a really stupid question (I dont mind admitting my stupidity when it comes to programming!).

Every time I click on the extensions tab in admin mode in my blog I get the follong error page;

Server Error in '/blogengine.net' Application.

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0117: 'ExtensionSettings' does not contain a definition for 'Count'

Source Error:

Line 128:          else
Line 129:          {
Line 130:            if (x.Settings.Count == 0 || (x.Settings.Count == 1 && x.Settings[0] == null) || x.ShowSettings == false)
Line 131:              sb.Append("<td>&nbsp;</td>");
Line 132:            else

Source File: d:\hosting\seankingonline\blogengine.net\admin\Extension Manager\Extensions.ascx.cs    Line: 130

I can't configure any extensions etc. I also get a similar error when hitting the subscribe button on the site.

Any help would be really appreciated (in laymans terms if possible!)



Mar 16, 2009 at 6:50 AM
Is this a new BE installation?  Did you always get this error on the Extensions tab in the control panel?  Are you using the web.config file that came with BE?  The only thing that comes to mind for this error is to make sure you have uploaded all the BE files to your website.  You could try re-uploading the files to make sure they're all there.

Regarding the RSS Subscriptions error, the error I see on your blog's RSS Subscriptions page is:

Specified argument was out of the range of valid values.
Parameter name: utcDate

This is from a problem that was fixed after BE 1.4.5 was released.  I'm guessing on the Settings tab in the Control Panel, you have a non-zero value in the Server Time Offset field?  If you change it to zero, this should fix this problem going forward.  If you still see the error right after changing the offset to zero, it should go away in a few hours at the most (depending on what your 'server time offset' was).

If you wanted to keep using a Server Time Offset, you could either upgrade to one of the more recent builds (available on the Source Code tab above), or make a pretty small change in the BE core code and recompile (if you're familiar with this process).  The code change needed to fix this error on the RSS subscriptions page is in SyndicationHandler.cs in the BE core code ... in the Web\HttpHandlers folder.  In there, in the SetHeaderInformation() method, there's this code below:

foreach (IPublishable item in items)
    if (item.DateModified > lastModified)
        lastModified = item.DateModified;

... that needs to be changed to ...

foreach (IPublishable item in items)
    if (item.DateModified.AddHours(-BlogSettings.Instance.Timezone) > lastModified)
        lastModified = item.DateModified.AddHours(-BlogSettings.Instance.Timezone);
Mar 16, 2009 at 7:21 AM
Thanks so much for your speedy response. I will upload the latest files and then let you know.

Thanks again.
Mar 16, 2009 at 8:31 AM
Hey Ben,

I am using version 1.4.5 installed from godaddy's hosting account.

I have always had this error. Still can't seem to fix it...

I have reset the counter to zero which has fixed the subscribe and that works well! Thanks.

Mar 16, 2009 at 5:57 PM
If you used GoDaddy's installation option, you could ask GoDaddy about the problem on the Extensions tab.  They should hopefully be able to help since they offer the BE installation option.

I also noticed a Configuration Error coming up when trying to access your blog.  So maybe you or GoDaddy are working on the blog now ...