3

.Net2.0機能のみを使用する.NET4.0クラスライブラリがあります。このライブラリをMonoとの互換性を高めるために、ターゲットフレームワークを4.0クライアントプロファイルではなく2.0に変更することを検討しています。

ただし、問題は次のとおりです。ターゲットフレームワークを古いバージョンに変更すると、ライブラリの実行が遅くなります(パフォーマンスが低下します)。アプリケーションのGUIは引き続き4.0を対象としているため、アプリケーションを実行しているすべてのWindowsPCには4.0フレームワークがインストールされます。2.0ライブラリは4.0JITコンパイラ(パフォーマンスは同じである必要があります)または古い2.0 JIT(パフォーマンスが遅くなる可能性があります)によって実行されますか?

4

3 に答える 3

1

古いフレームワークをターゲットにする場合、コードは古いCLRで実行されます。したがって、パフォーマンスは古いCLRのパフォーマンスになり、潜在的に遅くなりますが、それが問題であるかどうかを確認するためにプロファイルを作成する必要があります。

于 2010-10-12T11:42:00.757 に答える
1

いいえ、アプリは引き続きフレームワークのバージョン4をターゲットにしているため(「アプリケーションのGUIは引き続き4をターゲットにします」と述べたように)、すべてのコードはV4 jitを使用するため、特定のdllがV2をターゲットにしている場合でもV4の速度で実行されます。枠組み。

于 2010-10-12T11:48:45.923 に答える
0

.NET Framework 4は、バージョン1.1、2.0、3.0、および3.5で構築されたアプリと下位互換性があります。

パフォーマンスに関しては、目立った違いはないと思います。廃止された機能のために互換性を壊すさまざまなフレームワークバージョンについてもっと心配する必要があります。

互換性の詳細については、こちらをご覧ください

于 2010-10-12T12:09:17.517 に答える