Frage

Von den ersten Tagen das .NET Framework kam es ein Minimum OS Unterstützung war:

  • .NET 1.0 - Windows NT oder höher (Windows 98 / ME werden ebenfalls unterstützt)
  • .NET 2.0 - Windows 2000 oder höher (Windows 98 / ME werden ebenfalls unterstützt)
  • .NET 3.0 - Windows XP oder höher
  • .NET 3.5 - Windows XP oder höher

Diese minimale OS-Unterstützung ermöglicht plattformspezifische Probleme zu ignorieren, indem nur den Rahmen verwendet wird. Neuere Funktionen wurden auf älteren Plattformen ignoriert. Zum Beispiel: "Tile View" Stil in der Listview-Steuerelement oder Form der Transparenz auf dem Windows 98 / ME.

Doch in der System.Core.dll (Teil von .NET 3.5) gibt es einige Klassen, die einen neuen Vista-API verwenden und PlatformNotSupportedException werfen, wenn auf einem XP-Rechner verwendet. Um zum Beispiel einen Blick auf die neue EventLogReader Klasse nehmen (im System.Diagnostics.Eventing.Reader Namespace).

Hat Microsoft brechen mit der Tradition der Plattformunterstützung?

Um fair zu sein .NET 2.0 hatte bereits Klassen, die NTFS-Sicherheitsfunktionen unterstützt, die auf dem Windows nicht verfügbar sind 98 / ME.

War es hilfreich?

Lösung

Microsoft drängt offenbar auf eine Vista-zentrierte Entwicklungsumgebung. Es ist nicht nur wegen der offensichtlichen ‚wir brauchen, um Geld zu verdienen‘ Grund, aber auch wegen Vista ist, wo die coolen neuen APIs sprießen.

Um fair zu sein, es hat sich wie das mit dem Windows-API immer, und es wird wahrscheinlich wie das mit .NET sein. Es gibt nicht so eine „Tradition“, wie Sie beschreiben, sondern eine Tradition APIs machen, die Ihnen mitteilen, möglicherweise nicht, dass Sie in einem Betriebssystem, die nicht unterstützt wird. Sie versuchen immer zu sein zurück kompatibel, nicht vorwärts zu beschränken, wenn Sie verstehen:)

Andere Tipps

Eine minimale OS-Unterstützung bedeutet, dass das Produkt auf bestimmte Plattform und oben getestet wurde. Dabei spielt es keine Garantie dafür, dass alle Funktionen (oder Klassen / APIs im Fall einer Entwickler-Plattform wie .Net) auf allen unterstützten Plattformen arbeiten.

Es gibt Vista spezifische nativen APIs, die in XP nicht existieren. Net 3.5 fügt Unterstützung für verwaltete Welt für diese APIs, aber es wird nicht versucht, verwaltete Implementierung zu schaffen für nicht vorhandene nativen APIs auf XP.

Ich kann Ihnen mit Erfahrung sagen, dass .NET hat 98 nie wirklich funktioniert unter Windows oder ME. Ich erinnere mich, im Jahr 2002 zurück, als die Version 1.0 neu war, einige Kollegen und ich entdecken, dass etwas komplizierter als eine WinForm mit einigen Tasten und toter einfacher Funktionalität würde flach aus nicht unter Windows 9x, trotz Microsofts Ansprüche gegenteilig. Da wir ein Jahr in XP und wir konnten vernünftigerweise erwarten, Windows 2000 zumindest auf den Maschinen waren wir mit an der Zeit zu tun, es war keine große Sache.

Aber im Grunde Microsoft die älteren Versionen von Windows mit .NET zu vernachlässigen ist nichts Neues. Wenigstens sie werfen PlatformNotSupportedException Ausnahmen in diesen Tagen.

Plattformunterstützung hat immer nach Typ variiert. Viele Typen sind nicht von der Compact Framework, zum Beispiel unterstützt.

scroll top