おもにPSUぶろぐに続き、こちらも、BlogEngine.Net 1.6.2.16に更新してみました。
おもにPSUぶろぐではあまり書きませんでしたが、いつも通り、こちらでは技術的なことも少々~
1.6.2.1からの更新は、1.6.2.16のソースに、1.6.2.1のApp_Dataフォルダを丸ごと上書きで行けました。
少し前から少々変わっているところもあって、オプションで入れているソースコードや、私が公開しているRSS1.0/2.0両対応のブログロールも、コンパイルエラーではじかれてしまったりします。
なので、ASP.NET 4.0対応も含め、改めて、記載してみようかと思います。
1.ASP.NET 4.0に変更してみる
まずは、ソースコードをDLします。
Visual Studio 2010または、Visual WebDeveloper Express 2010でプロジェクトを開きまして、BlogEngine.Coreプロジェクトのプロパティを開きます。
アプリケーションのプロパティで、対象のフレームワークを.Net Framework 4.0に変更します。
このままですと、BlogEngine.Coreプロジェクトはコンパイルエラーとなります。
これは、ASP.NET 4.0で、Membership関連の名前空間が変更されてしまったからですね~
というわけで、BlogEngine.Coreプロジェクトの参照設定を右クリックして、参照の追加を選択します。
System.Web.ApplicationServicesを選択して、追加します。
次に、Webサイトのプロジェクトのプロパティを開き、ビルドタブの対象のフレームワークを.Net Framework 4.0に変更します。
このままですと、ASP.NET 4.0のセキュリティ関連の更新で、TinyMCE関連ではじかれますので、Web.Configを更新します。
<httpRuntime enableVersionHeader="false" useFullyQualifiedRedirectUrl="true" maxRequestLength="16384" executionTimeout="3600" requestLengthDiskThreshold="16384"/>
このような個所がありますので、httpRuntimeのタグの最後に、
<httpRuntime enableVersionHeader="false" useFullyQualifiedRedirectUrl="true" maxRequestLength="16384" executionTimeout="3600" requestLengthDiskThreshold="16384" requestValidationMode="2.0"/>
requestValidationMode=”2.0”
と追加することで、2.0互換モードとなり、正常に動作するかと思います。
2.既存のコードの修正
1.6.2.16ソースをそのまま使うなら問題はありませんが、プラグインとして、App_Code\Controlsやwidgetsなどに追加していると、一部のコードでコンパイルエラーが発生する場合がありました。
ぶりちゃんが遭遇したエラーは、ExtensionSettingsが見つからないと怒られたことです。
たぶん、名前空間の変更でそうなったのでしょうから、エラーが出るコードにUsingを追加してあげれば解決します。
using BlogEngine.Core.Web.Extensions;
このように追加することで、コンパイルエラーは解消されると思います。
そして、私が公開している、RSS1.0/2.0対応のblogroll_rss12ですが、導入した場合、blogRequestが見つかりませんというようなエラーが発生するかと思います。
こちらについても名前が変更になったようですので、対象ソース内のblogRequestをBlogRequestに置き換えて頂ければ、エラーは解消されるかと思います。
現在はソースコードリリース段階ですので、公開しているセットは、まだ更新する予定はありません。
お手数ですが、各自で置き換えをお願いいたします。
また、rturさんが公開されているSyntaxHighlighter for BlogEngine.netについては、admin\TinyMCE.ascxとadmin\Extension Manager\Setting.ascx.csを使用しなければ、正常にコンパイルできるようです。
3.管理機能(TinyMCE)のIE9 Beta1対応?
BlogEngine.NET 1.6.2.16に含まれているTinyMCEは、古いソースなので、残念ながら、IE9 Beta1ですと、JavaScriptエラーが発生して、TinyMCEが正常に動作しません。
(IE6互換モードにすれば動くようです)
まあ、時間もたっていますし、もう対応されたかなと思い、TinyMCEのサイトに行ってみたところ、3.3.9.2がリリースされていまして、更新履歴にIE9 Beta1対応がちらほらのってるようです。
そこで、ダウンロードしてきまして、入れ替えてみました。
TinyMCE3.9.2.2のJavaScriptフォルダの中身すべてを、BlogEngine.Netプロジェクトのeditorsフォルダ内にすべて上書きするだけで、更新できるようです。
これで、IE9 Beta1でも、管理のページやブログが正常に動作するようになりました~^^
ちょっと長くなってしまいましたが、おもにPSUぶろぐと本ブログに関しては、このような変更で更新しています。