6

20 以上のプロジェクトを含むソリューションを .net 2.0 から 3.5 に移行し、同時に Visual Studio 2005 から 2008 に移行しています。同時に、MS Entlib 2.0 から 4.0 に切り替えています。

  • Visual Studio ウィザードにソリューションを変換させない理由はありますか?
  • 3.5 は 2.0 と完全に下位互換性がありますか?
  • Entlib 4.0 は 2.0 と完全に下位互換性がありますか?

編集:これを書いたとき、私は少し混乱したかもしれません。下位互換性は意味するはずです。2.0 プロジェクトに存在するもので、3.5 で動作/コンパイルしないものはありますか?

:)

//W

4

5 に答える 5

6

かなり大規模なソリューション (20 以上のプロジェクト) を 2005 年から 2008 年にアップグレードしましたが、それは本当に些細なことでした。基本的にプロジェクトのアップグレードのみ。3.0/3.5 と 2.0 の両方が同じコア フレームワークを共有しているため、基礎となるフレームワークは同じです。

上で述べたように、アップグレードしていても、プロジェクトのフレームワーク リファレンスを変更する必要はありません。これは、参照 (プロジェクトのプロパティ ページ、アプリケーション テーブルの「ターゲット フレームワーク」フィールド) を変更するまで 3.0/3.5 の機能を利用できないことを意味しますが、追加の互換性がないことをより確実にすることも意味します。問題 (その参照が変更されるまで 3.0/3.5 コードを追加するとエラーが発生するため)。

TFS 2008 を使用できるようにするためにアプリをアップグレードする必要はありませんが、TFS 2008 の新機能も見逃せません。

1.1 から 2.0 への変換は、はるかに苦痛でした...

于 2008-10-02T15:44:12.920 に答える
4

私はウィザードを使用して Visual Studio 2005 から 2008 にいくつかのプロジェクトをアップグレードしましたが、それらはすべて問題なく進みました (まあ... その C++ の獣を除いて。しかし、とにかく .NET について話しているのです)。

.NET バージョンをアップグレードする必要がないことに注意してください。Visual Studio 2008 は、.NET 2.0、3.0、および 3.5 をサポートしています。ただし、3.5 は下位互換性があります。これは、同じ CLR にあり、多かれ少なかれ追加のライブラリにすぎないためです。そして、「古い」ライブラリは同じままです。

Entlib についてはわかりません。

単体テストを試してみませんか?:)

于 2008-10-02T08:42:05.510 に答える
1

EntLib 2.0 から 4.0 にアップグレードしたとき、キャッシュ アプリケーション ブロックを使用すると、次の重大なソース コードの変更が見られました。

  • 2.0 では、 を使用してキャッシュ マネージャーを取得しCacheManager cache = CacheFactory.GetCacheManager()ます。
  • 4.0 では、置き換えないCacheManagerICacheManagerコンパイルできません。

また、例外処理ブロック用に独自の例外フォーマッタ クラスを作成している場合:

  • 2.0 では、シグネチャを持つコンストラクタを 1 つ定義する必要があります(TextWriter, Exception)
  • 4.0 では、これは廃止され、シグネチャを持つ 2 番目のコンストラクターを定義する必要があります(TextWriter, Exception, Guid)
于 2009-06-26T11:42:24.287 に答える
1
  • Visual Studio ウィザードにソリューションを変換させない理由はありますか?

いいえ。

  • 3.5 は 2.0 と完全に下位互換性がありますか?

いいえ。3.5 には、ネイティブに逆方向に移植されない新機能があります。そして (IIRC) 2.0 から 3.5 へのいくつかの廃止予定があります。

  • Entlib 4.0 は 2.0 と完全に下位互換性がありますか?

私はそうは思わない。3.5が要件としてリストされています。

バックアップを作成し、ウィザードを実行して、何が起こるかを確認してください。このような分厚いプロジェクトには時間がかかる場合がありますが、期待どおりにビルド/実行されるかどうかを判断できる位置にいます.

于 2008-10-02T08:44:12.323 に答える
1

EntLib 3.1 から 4.0 に移行する場合、重大な変更はないと想定されています。

「パブリック API に重大な変更はありません。これは EL4 の設計目標の 1 つでした。EL4 には .NET3.5 が必要であることを覚えておいてください。

――グリゴリ」

http://blogs.msdn.com/agile/archive/2008/05/16/enterprise-library-4-0-for-visual-studio-2008-released.aspx

(Grigori は EntLib のプログラム マネージャーです)

ただし、2.0から3.1まではわかりません。明日 p&p で適切な人を見つけることができれば、これを更新します。

アデ

于 2009-07-09T04:07:20.463 に答える