Blogengine.net 1.6.2.30ソースコードリリースを、本ブログおよび、おもにPSUぶろぐに導入してみました。
1.6.2.30は、まだまだ新しい管理ツールに一部怪しいところがあるようですが、HTMLエディタ、tinyMCEも3.3.9.2に変更されたようで、IE9 Beta1でも安心して使えるようになったのかな?とも思います。
今回は、App_Data上書きとはいかなかったようで、Roll.xmlにAnonymousが追加されているようなので、そちらを追加する必要がありますね。
また、1.6.2.2xあたりの名前空間変更により、一般公開されている追加モジュールも変更が必要になっています。
ASP.NET 4.0対応への変更などは、以前の記事を見ていただくとして、ControlsやWidgetsなどの名前空間の変更と、それに伴う、テーマの変更部分に関して記載してみます~
尚、以前の記事を含むこれらの記事は、ぶりちゃんが個人的に行っているもので、公式サイトの記述を優先してくださいね。
1.Controlの名前空間
いままで、Controlsの名前空間は
namespace Controls
だったのですが、
namespace App_Code.Controls
に変更されていたりします^^;
App_Codeという、ASP.NET特殊フォルダをまんま名前空間につけるのは正直どうかな~と、個人的には思いますが、これによりいろいろ変更になっているようです。
Controlがコードビハインドで見つからない場合は、
を追加してあげることで解決すると思います。
2.Widgetsの名前空間
こちらも、いままでは適当な名前空間だったのが、
namespace Widgets.{Widgets名称}
に変更されています。
このことで、クラス名は、editやwidgetのみにしているようですね。
これにより、aspxのInheritsも変わりますので注意が必要です。
いままでは、
Inherits="widgets_BlogRoll_rss12_edit"
などと、コードビハインドのクラス名のみ記載していましたが、名前空間で指定されてるので、
Inherits="Widgets.BlogRoll_rss12.edit"
と、名前空間を含めて指定します。
・・・まあ、ASP.NETを使ってる方は、こんなこと当たり前だといわれそうですが、一応かいておきます^^;
3.テーマやaspx上の変更
Controlの名前空間が変更されたことで、テーマやASPXでエラーが発生する場合がかなりあります。
テーマやwidgetsなどのASPXでプレフィックス “blog”を使っていると、エラーが出てこまったちゃんなことになります。
こちらについては、ASPXのトップをみてみると・・・
<%@ Import namespace="BlogEngine.Core"%>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="widget.ascx.cs" Inherits="Widgets.BlogRoll_rss12.widget" %>
このような記載がありますが、
そこにRegisterを追加してあげることで解決するはずです。
<%@ Import namespace="BlogEngine.Core"%>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="widget.ascx.cs" Inherits="Widgets.BlogRoll_rss12.widget" %>
<%@ Register TagPrefix="blog" Namespace="App_Code.Controls" %>
いままでばらばらだった名前空間を統一することはわかるのですが、変更が面倒になってしまったのもあり、ちょっとなんとも言えないところですね。
私が公開している、Blogroll_rss12とLayeredCategoriesPagesについては、Blogroll_rss12の機能追加もあり、本日中にアップデート版を公開するつもりです。
この名前空間の変更はソースコードリリースなので、名前空間の変更に対応したコードを公開するのをためらっていたのですが、アーカイブ内にold_1.6.1フォルダを追加してそちらに移動、今回の更新は名前空間変更に対応したものとします。
そちらについては、公開し次第、別記事で載せる予定です。