2

.NET フレームワークが登場した最初の日から、最小限の OS サポートがありました。

  • .NET 1.0 - Windows NT 以上 (Windows 98/ME もサポート)
  • .NET 2.0 - Windows 2000 以降 (Windows 98/ME もサポート)
  • .NET 3.0 - Windows XP 以降
  • .NET 3.5 - Windows XP 以降

この最小限の OS サポートにより、フレームワークのみを使用してプラットフォーム固有の問題を無視することが可能になりました。古いプラットフォームでは、新しい機能は無視されていました。たとえば、ListView コントロールの「Tile View」スタイルや、Windows 98/ME のフォームの透過性などです。

ただし、System.Core.dll (.NET 3.5 の一部) には、新しい Vista API を使用し、XP マシンで使用すると PlatformNotSupportedException をスローするクラスがいくつかあります。たとえば、新しい EventLogReader クラス (System.Diagnostics.Eventing.Reader 名前空間内) を見てみましょう。

Microsoft はプラットフォーム サポートの伝統を破りますか?

公平を期すために、.NET 2.0 には、Windows 98/ME では利用できない NTFS セキュリティ機能をサポートするクラスが既にありました。

4

6 に答える 6

3

最小 OS サポートとは、製品が特定のプラットフォーム以上でテストされたことを意味します。すべての機能 (.Net などの開発プラットフォームの場合はクラス/API) が、サポートされているすべてのプラットフォームで動作することを保証するものではありません。

XP には存在しない Vista 固有のネイティブ API があります。.Net 3.5 は、これらの API の管理された世界のサポートを追加しますが、XP に存在しないネイティブ API の管理された実装を提供しようとはしません。

于 2008-09-30T18:49:15.550 に答える
1

経験上、Windows 98 や ME で .NET が実際に動作したことはありません。バージョン 1.0 が新しくなった 2002 年に、何人かの同僚と私は、いくつかのボタンと非常に単純な機能を備えた WinForm よりも複雑なものは、Microsoft の反対の主張にもかかわらず、Windows 9x では実行されないことを発見しました。XP を導入してから 1 年が経ち、少なくとも当時扱っていたマシンでは Windows 2000 が期待できることを考えると、それは大したことではありませんでした。

しかし基本的に、Microsoft が古いバージョンの Windows と .NET を軽視していることは、今に始まったことではありません。少なくとも、最近は PlatformNotSupportedException 例外をスローしています。

于 2008-09-30T18:54:11.560 に答える
1

Microsoft は明らかに、Vista 中心の開発環境を推進しています。それは、明らかに「お金を稼ぐ必要がある」という理由だけでなく、Vista がクールな新しい API を生み出しているからでもあります。

公平を期すために言うと、Windows API の場合は常にそうでした。おそらく .NET でもそうなるでしょう。あなたが説明するような「伝統」はありませんが、動作しない可能性のある API を作成して、それをサポートしていないオペレーティング システムにいることを通知するという伝統があります。あなたが理解している場合、それらは常に前方制限ではなく、後方互換性を維持しようとします:)

于 2008-09-30T18:54:32.450 に答える
0

すべてを語ることはできませんが、たとえば、Vistaのイベントログシステムは完全にオーバーホールされており、WindowsXPのイベントログシステムとはほとんど似ていません。おそらく文字通り互換性がありません。

于 2008-09-30T19:04:51.537 に答える
0

ここでの問題は、System.Diagnostics.EventingがAppFabric(つまり、Windows Azure)で使用されているため、基本的に、WindowsXPをクラウドと通信させるという困難な戦いを戦うことになります。

于 2011-07-27T00:38:01.413 に答える
0

プラットフォームのサポートは、常にタイプによって異なります。たとえば、Compact Framework では多くの型がサポートされていません。

于 2008-09-30T18:50:05.347 に答える