1.4.5 Build Errors Claim for XmlBlogProvider's Profile-Related Methods

Topics: Business Logic Layer
Aug 3, 2008 at 1:15 AM

The 1.4.5 build suffers from several build errors, some of those claiming for the AuthorProfile class that was relocated. After adding the necessary using to include the BlogEngine.Core.Web namespace, I get build errors like the following:

Error 22 'BlogEngine.Core.Providers.XmlBlogProvider' does not implement inherited abstract member 'BlogEngine.Core.Providers.BlogProvider.SelectProfile(string)' X:\BlogEngine.NET\v1.4.5\BlogEngine.Core\Providers\XmlProvider\Pages.cs 22 24 BlogEngine.Core

The error is repeated for all profile-related methods of XmlBlogProvider.

Strange, but the errors did not show up till inserting the using statements, however I don't think the compiler were unable to start compiling the Pages class.

What should be done? Is it safe to give just empty implementations for the methods?

Aug 5, 2008 at 1:51 AM
This was the biggest Issue I faced with porting the C# to VB.  VB forces you to implement the implemented class methods and will not compile if you don't.

I simply, implemented the method that is completed about, coding it to throw a notimplemented exception if that class tries accessing that implementation..

For example, in the IPublishable inteface, some things where readonly so I had to modify the interface for all methods to be read/write.  The in the classes that implemented the interface, ie, Core.Post, the compiler complain that it did not implement the some methods becuase the signature didn't match.  I added the proper accessor and add a throw new NotIimplementedException in it.

So far I have not had any issues.  This obviously defeats the whole point of using and interface but it runs, no issues yet

Aug 5, 2008 at 7:46 AM
Hi Alex,

It turned out that BE.NET 1.4.5 in itself compiles without problem. After downloading the source, I tried to merge it with my 1.4 source that I modified for BE.NET public UI to be localized to Hungarian. For merging, I selected the option in Total Commander to owerwrite all older files 'cuse I thought this way TC will overwrite only the 1.4 files that were modified in 1.4.5. The modification dates of the 1.4 files modified by me should have preceded those of 1.4.5 files, or at least I thought so.

Unfortunately, the modification dates of some os the downloaded and modified files were earlier than those of modified by me, so the merge caused inconsistency. That's why I got various errors.

Pure 1.4.5 compiles and builds without errors, however I have to start over the whole localization process. :(

I'm thinking on contributing to BE.NET in the near future to help to further develop localization quality so that foreigners will not have to either have a partially English blog or to run over all source files in every new version.