2008-09-11 3 views
10

私のアプリケーションは2.0を使用しています。将来的には、後のフレームワークバージョンで追加された新しい機能を使い始めることができます。それまで待つべきですか?または、最新の.NET 3.5にアップデートする利点がありますか?どの.NET Frameworkのバージョンを同梱してください。 2,3、

私は来年の春のリリースの準備が整っていると思いますが、4.0がリリースされます。おそらく私は秋のリリースのために2.0に固執して、私の顧客にHD空間を保存し、別のフレームワークバージョンの時間をインストールする必要がありますか?

答えて

8

私の意見では、アプリに必要なものを同梱する必要があります。さもなければ、あなたの顧客のHDスペースを本質的に何の理由もなく使用していることに気付いたように、インストールを長くする必要があります。

+0

これは単なるHDDスペースではなく、顧客が前提条件をすでにインストールしている可能性を最大限に高め、マシンに加えなければならない変更の数を減らします。 –

+0

@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を含む)を手動で起動できるようにすることです。 –

0

.NET 3.5の新しい言語機能をご利用いただきありがとうございます。ご使用になる前に、最新のランタイムにアップグレードしないでください。

+1

「新しい言語機能」は.NET 3.5では実際にはなく、VS2008にあります。 .NETフレームワーク2.0でC#3を使用することはできます –

+0

LINQや拡張メソッドなどのコンパイラ機能については、新しいバージョンのフレームワークを対象にする必要はありません。必要なのは、実装を含めることだけです。たとえば、MonoはオブジェクトへのLINQの実装を提供します。 –

0

Linq to SQLの機能は、Linq Extensionsは一般的にアップグレードの価値があります。

HD空間とインストール時間についての心配は、最新のフレームワークの最新のシステムではIMOとは関係ありません。新しいバージョンのフレームワーク(3.0と3.5)は、2.0フレームワークのほんの「リフレッシュ」です。あなたの顧客/市場が古いPCでない限り、ハードドライブに別の20Mbを追加する危険はないので、開発チームの機能と生産性のトレードオフが良いとは思えません。 20MBの番号、誰かがそれにBSを呼び出すことができます)。

0

3.5フレームワークは最初のService Packリリースだったので、リリース後よりも安定していましたが、2.0から3.5へのアップグレードは、3.5に戻すよりもはるかに簡単です。ショーストッパーに遭遇した理由。

wiki articleは、新機能を非常によく示しています。

1

最も多くテストしたバージョンである.Netのバージョンをアプリに配布する必要があります。 .Net 2.0ですべての開発とテストを行っていたら、2.0で出荷してください。

しかし、2.0がリリースされて以来、フレームワークで修正されているバグのために、あなたは3.5に対するテストとその代わりに顧客にそれを借りているかもしれません。 WCF、WPFなどの前にあったとしても、それを配布するための帯域幅コストを支払っていないか、ターゲットデバイスの記憶容量が限られている場合を除いて、以前のバージョンを配布することにはメリットはないスペース。

2

私は常にフレームワークの最新バージョンを使用します。これはユーザーには少し前払いの負担かもしれませんが、アプリケーションはアップグレードの間にはるかに長い寿命を持っています。

.NET 1.1を使用して2005年にアプリケーションを出荷した場合、アプリケーションが実行されているフレームワークは主流のサポートから外れており、パッチのないセキュリティの脆弱性が存在する可能性があります。マイクロソフトが処理できないその他の深刻な問題、およびお客様自身のコードで補償することはできません。 2008年の唯一の選択肢は、ユーザーにフレームワークのバージョンをアップグレードさせることです。われわれも知っているように、タイムリーに物事を更新するようにユーザーに指示することは問題になりかねません。

同様に、2011年の状況を考えてみましょう。今すぐ.NET 3.5用にプログラムすると、出荷時のアプリはより長く使用可能になります。 .NET 2用に出荷する場合。今では、数年のうちに、ユーザーにフレームワーク(彼らに恩恵を感じていないコードを覚えておいてください)をアップグレードして、このアプリケーションを適切にサポートできるようにする必要があります。

また、3.5クラスの機能(例えば来年のLINQ to SQL)を実装する予定がある場合は、後で問題が発生しないように、2.0ではなく3.5に出荷することをお勧めしますあなたのために。

0

私はEBGreenChrisに同意しますが、私はあなたのアプリケーションを新しいバージョンのフレームワークに対してテストし、うまく動作すると思われるバージョンに対してアプリケーションを実行することを検討したいと考えています。設定トリックを使用して行うことができますが、残念ながら、私はそれを参照することができません)。このようにして、アプリケーションはクライアントがすでにインストールしているバージョンに対して動作します。

ので、私はこのことをお勧め:新しいフレームワークのバージョンがあなたのパフォーマンスの向上を与える可能性があり

  1. クライアントにはすでにコンピュータに別のバージョンがインストールされている可能性があり、ハードドライブの空き領域を浪費するのは残念です。
  2. 将来新しいフレームワークバージョンに対してアプリケーションを実行したい場合があります。クライアントに既にそのバージョンがあり、現在のバージョンのアプリケーションが実行されている場合は、自分のコンピュータに古いフレームワークはありません。

それでも、私は、このような分布の手段として、あなたが持っているかもしれないいくつかの情報を欠いているんだ、顧客のマシンのプロファイリングなど

0

は私がする最も簡単なバージョンであることを、バージョン2.0を見つけました多くの人が既にインストールしているので、ターゲットとデプロイメントを行うことができます。クライアントベースのかなりの部分がVistaを使用している場合は、3.0へのアップグレードを検討することができます。 上記のバージョンでは、ほとんどの場合、インストールが必要な場合があります。

編集:「フレームワークのバージョンがサポート外になる」引数は、3.0が2.0の拡張であり、3.5がそれを拡張しているため、水を保持しません。定義によると、3.5がサポートされている限り、2.0がサポートされます。バージョン1.1は完全に別個のランタイムであり、もはやサポートされていない唯一のバージョンです。

7

3.5 SP1にアップグレードする場合は、the New .NET Framework Client Profile Setup Packageの使用を検討する必要があります。

.NET 3.5 SP1では、.NETクライアントアプリケーションを構築する開発者向けに、「.NET Framework Client Profile」という新しいセットアップパッケージオプションが導入されています。これにより、.NET Frameworkがインストールされていないマシン上の.NETクライアントアプリケーションに対して、より小さく、より速く、より簡単なインストール環境を実現する新しいセットアップインストーラが提供されます。

.NET Frameworkクライアントプロファイルのセットアップには、通常、クライアントアプリケーションのシナリオで使用される.NET Frameworkのアセンブリとファイルのみが含まれます。たとえば、Windowsフォーム、WPF、およびWCFが含まれます。 ASP.NETと、主にサーバーシナリオで使用されるライブラリとコンポーネントは含まれていません。このセットアップパッケージのサイズは約26MBで、完全な.NET Frameworkセットアップパッケージよりもはるかに高速にダウンロードしてインストールできます。

.NET FrameworkクライアントセットアップパッケージのアセンブリとAPIは、完全な.NET Frameworkセットアップパッケージのものと100%同一です(それらは文字どおり同じバイナリです)。つまり、アプリケーションはクライアントプロファイルと.NET 3.5 SP1のフルプロファイルの両方をターゲットにすることができます(再コンパイルは必要ありません)。 。を使用して動作するすべての.NETアプリケーション。NETクライアントプロファイルのセットアップは、完全な.NET Frameworkで自動的に機能します。

0

質問したいのは、使用したい.NET 3.5の機能は何ですか?ハイライトされた機能の多くは、実際にはC#3.0機能であり、.NET 3.0/3.5固有の機能ではありません。また、C#3.0は.NET Framework 2.0と同じCLRを使用するため、2.0アプリケーションでも自由に使用できます。

  • ラムダは、私が
  • オブジェクト初期化子
  • 匿名型
  • ローカル変数の型推論
  • 拡張メソッド

を表現:これはのみ

例は、VS 2008が必要です自分の.NET 2でこれらの多くを使用する問題のない.0プロジェクト。

(Linq、WPFなどのような)フレームワーク固有の機能がある場合は、アップグレードする必要があります。

0

私は、あなたのアプリケーションに必要なものにすべきことに同意しますが、将来あなたのアプリケーションにはが必要なものについても準備する必要があります

予備のサイクルがある場合は、3.5ランタイムで実行されているSCMでアプリの別のブランチを移行できます。実際にアップグレードする必要がある場合は、作業ブランチがあります2週間に1回のマージで最新の状態に保ちます)。

0

.Net 4.0は以前のバージョンのフレームワークとは少し異なります。 .Net 4.0は、SXSの.Net 3.5と並行してインストールされます。 .Net 4.0を使用するようにアプリケーションをアップグレードすると、長期ユーザー(以前のバージョン)は、フレームワークの全く新しいバージョンをインストールする必要があります。

あなたのアプリケーションとフレームワークでクライアントマシンで使い切っているディスク容量を考えているなら、この "隠された"余分なスペースの使用を忘れないでください。あなたのアプリを2.0から3.5にアップグレードすると、20 MB以上のスペースを消費する第2のフレームワークをインストールしなくても、機能が完備したアプリが長く存在する可能性があります。

1

ユーザーには「小さな負担」は、アプリケーションの承認と拒否の違いを意味することに注意してください。

私は会社のITを運用しています。当社基準は3.5ではありません。あなたは本当に滑らかなアプリケーションを1つ持っていなければならないので、あなたのアプリが動くようにみんなを.NET 3.5にアップグレードすることができます。言い換えれば、おそらく起こっていない。すでに過負荷のIS部門に追加の「小さな負担」を加えない別のアプリを見つけます。

あなたが実際に使用する機能についてコメントした人もいます。 1.1または2.0に実際の機能が設定されている場合は、それに固執する必要があります。

0

.net 3.5sp1のブートストラップは、特にWindowsのフォームと比較してasp.netアプリケーションを使用している場合は遅すぎます.net 2.0のみを持つマシンでは、フレームワーク全体がロードされます。中程度のインターネット接続とマシンスピードで約20〜30分のダウンロード+インストール時間。

関連する問題