Windows Live Writer(WLW)のプラグインを作ってみようと思い、現在C#で開発を行なっています。
実際にDLLを作成しWLWにロードさせてみましたが全く認識しない・・・
原因はビルドするときの.Net Frameworkのバージョンによるものでしたのでメモしておきます。
同じ事をしようと思っている人は是非設定を変更してくださいね。
.Net Framework v4でビルド→WLWは認識しません
Visual C# 2010 Expressのデフォルト設定では対象のフレームワーク欄は.Net Framework v4になっています。
デフォルト設定でビルドするとDLLは出来ますが、WLWでは全く認識しません。
WLWが認識したバージョンは2.0、3.0、3.5
数日原因が分からず右往左往してましたが、マシンのセットアップするときに.Net Framework 3.5は下位互換(2.0/3.0)だったことををふと思い出しました。
試しに対象のフレームワーク欄を.Net Framework 2.0に変更しテストプログラムをビルド、WLWでロードしたところプラグインが動作しました。
なお、.Net Framework 3.0と3.5でビルドしてもプラグインは認識します。
.Net Framework 3.5 Client Profileはビルド時にエラー
.Net Framework 3.5 Client Profileはビルドする時に下記のエラーでダメ。
改めて.Net Frameworkのバージョンを勉強してみる
@ITさんの.NET Frameworkのバージョンを整理するという記事をみて改めて勉強してみました。
下記画像を見れば書くバージョンの互換性がひと目でわかりますね。
.Net Framework 2.0でビルドすると2.0/3.0/3.5の環境で動作、
.Net Framework 3.0でビルドすると3.0/3.5の環境で動作するようです。
プラグインは.Net Framework 2.0を選択すべし?
海外サイト記事How to create a Windows Live writer plugin using C# Part 1にもしっかり書かれていますね。
you are selecting the target framework as .Net 2.0, otherwise it may not works.
今度から開発は.Net Framework2.0に固定して行いたいと思います。
いや~久しぶりにハマったな・・・