私は常にフレームワークの最新バージョンを使用します。これはユーザーには少し前払いの負担かもしれませんが、アプリケーションはアップグレードの間にはるかに長い寿命を持っています。
.NET 1.1を使用して2005年にアプリケーションを出荷した場合、アプリケーションが実行されているフレームワークは主流のサポートから外れており、パッチのないセキュリティの脆弱性が存在する可能性があります。マイクロソフトが処理できないその他の深刻な問題、およびお客様自身のコードで補償することはできません。 2008年の唯一の選択肢は、ユーザーにフレームワークのバージョンをアップグレードさせることです。われわれも知っているように、タイムリーに物事を更新するようにユーザーに指示することは問題になりかねません。
同様に、2011年の状況を考えてみましょう。今すぐ.NET 3.5用にプログラムすると、出荷時のアプリはより長く使用可能になります。 .NET 2用に出荷する場合。今では、数年のうちに、ユーザーにフレームワーク(彼らに恩恵を感じていないコードを覚えておいてください)をアップグレードして、このアプリケーションを適切にサポートできるようにする必要があります。
また、3.5クラスの機能(例えば来年のLINQ to SQL)を実装する予定がある場合は、後で問題が発生しないように、2.0ではなく3.5に出荷することをお勧めしますあなたのために。
これは単なるHDDスペースではなく、顧客が前提条件をすでにインストールしている可能性を最大限に高め、マシンに加えなければならない変更の数を減らします。 –
@Nader Shirazie:それは完全に真実ではありません。私は例えば.NET 2.0で書かれたアプリケーションを持っています。しかし、Windows 8 RPではデフォルトで.NET 4.0が有効になっています。そして、大きな驚き:.NET 4.0は後方互換性がないことが判明しました。私のインストーラは、Microsoftのサイトから.NET 2.0をインストールするようにユーザに求めます。しかし、Windowsをインストールしようとすると、すでに新しいバージョンが利用可能になっているため、あなたをお手伝いしません。唯一の回避策は、ユーザが "プログラムと機能の追加"メニューから.NET 3.5(.NET 2.0を含む)を手動で起動できるようにすることです。 –