イントレ
  • 新規
  • ペイント
  • 一覧
  • 管理
  • Home
  • ダウンロード
  • 日記
  • イラスト
  • リンク
  • About
  •  RSS

本文へジャンプ


イントレ。

« Prev | Today | Next »

.NET4→.NET3.5のコード互換性とか。

[日記]  >> 2010/03/01 (月) | 20:09:06 | 魅椥 愁
使い勝手いいのでVS2010ばかり使ってるんですが、
折角なので.NET3.5向けにWPFアプリを.NET4に変更したりしてました。

.NET3.5の時はSystem.Data.SQLite(ADO.NET)が原因でClientProfileは駄目だったんだけど、
.NET4 ClientProfileだと大丈夫ですね。

で、今度はそれを.NET3.5に戻したい場合の話。
いくらか手直しするだけで行けました。
具体的には・・・

・ソリューションファイル(.sln)を書き換え
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008

ソリューションファイルを書き換えた時点でVS2008で読めるようになるんですが、
ビルドするときツールバージョンがどうとか怒られるので修正。

・プロジェクトファイル(.csproj)を書き換え
-Project ToolsVersion="4.0"
+Project ToolsVersion="3.5"

あとは
・ターゲットフレームワークの修正
・参照アセンブリの修正
・ソースコード微修正
・App.configの修正

この程度で済みました。
.NET4のSystem.Threading.TasksやSystem.Lazy、IEnumerable.Run()なんかは
Reactive Extensions for .NETで賄えました。
C#4.0の機能は使っていたらどうしようもないですが。
C#3.0とC#4.0では型推論の精度が違うのか、明示的にキャストしないと通らないコードとかありました。

あと、App.configでRuntimeVersion=4を指定してたりするとデバッガが起動しません。
useLegacyV2RuntimeActivationPolicyの設定などをしている場合はそれを削除するなどの修正が必要です。

しかし、Rx Frameworkのおかげでずいぶん拍子抜けした格好です。
簡単なパッチで3.5と4.0を行き来出来ますね。

そして、WPF4のテキストレンダリングに目が慣れていると、WPF3のレンダリングに絶望出来ます・・・。


Loading...

HTML creation time [0.08sec.]
"intre." by MinagiSyu, sense 1999.11.23.
Powered by Nucleus CMS v3.41

Utilities

タグ
C# | 園芸 | SAPFx | Windows 7 | PCパーツ | SAP1x | サッカー | ツクールもどき | WPF | .NET | ...すべてのタグ
カレンダー
<   2010-03   >
日月火水木金土
 123456
78910111213
14151617181920
21222324252627
28293031   
最近の更新
    2010-07-11
  • [日記] WebMatrixが本気過ぎる件。
  • 2010-06-23
  • [日記] Google Reader APIの認証がまた変わった?
  • [更新履歴] Google Reader Notifier 改 r3をリリース。
  • [ダウンロード] Google Reader Notifier 改
  • 2010-05-31
  • [日記] DynamicObjectを使ったINotifyPropertyChangedラッパー。
  • 2010-05-28
  • [日記] タブが非アクティブな時にページを書き換えるフィッシング攻撃。
  • 2010-05-24
  • [日記] Mercurialのsubrepo。
Adsense