2008-09-30 3 views
2

:.NET 프레임 워크 플랫폼 지원 전통의 .NET 프레임 워크는 최소 OS 지원했다가 나온 첫 날부터

  • 는 .NET 1.0 - Windows NT 또는 이상 (Windows 98/ME도 지원됩니다)
  • .NET 2.0 - 윈도우 2000 이상 (Windows 98/ME도 지원됩니다)
  • .NET 3.0 - 윈도우 XP 이상
  • .NET 3.5 - 윈도우 XP 이상

최소한의 OS 지원으로 프레임 워크 만 사용하여 플랫폼 관련 문제를 무시할 수 있습니다. 구형 플랫폼에서는 최신 기능이 무시되었습니다. 예를 들어, ListView 컨트롤에서 "Tile View"스타일을 사용하거나 Windows 98/ME에서 투명도를 만듭니다.

그러나 System.Core.dll (.NET 3.5의 일부)에는 새로운 Vista API를 사용하고 PlatformNotSupportedException을 던지는 클래스가 XP 컴퓨터에서 사용됩니다. 예를 들어 System.Diagnostics.Eventing.Reader 네임 스페이스의 새 EventLogReader 클래스를 살펴보십시오.

Microsoft는 플랫폼 지원의 전통을 깨고 있습니까?

공평하게 말하면 .NET 2.0에는 Windows 98/ME에서 사용할 수없는 NTFS 보안 기능을 지원하는 클래스가 이미있었습니다.

답변

1

Microsoft는 분명 Vista 중심의 개발 환경을 지향합니다. 그것은 명백한 '우리가 돈을 벌 필요가있다'는 이유 때문 만이 아니라 비스타가 새로운 API가 돋보이는 이유이기도합니다.

Windows API의 경우 항상 그렇듯이 .NET과 비슷할 것입니다. 당신이 묘사하는 것과 같은 "전통"은 없지만, 작동하지 않을 수도있는 API를 만드는 전통은 당신이 그것을 지원하지 않는 운영체제에 있다는 것을 당신에게 알려주는 것입니다.그들은 항상 뒤로 호환되지 전달 당신이 :) 이해하는 경우, 제한 할 수하려고

3

최소 OS 지원은 제품이 특정 플랫폼 이상에서 테스트되었음을 ​​의미합니다. 닷넷과 같은 개발자 플랫폼의 모든 기능 (또는 클래스/API)이 모든 지원되는 플랫폼에서 작동한다는 것을 보증하지는 않습니다.

XP에 존재하지 않는 Vista 고유의 ​​API가 있습니다. .NET 3.5는 이러한 API에 대한 관리되는 세계에 대한 지원을 추가하지만 XP에 존재하지 않는 기본 API에 대한 관리 된 구현을 제공하지는 않습니다.

0

플랫폼 지원은 항상 유형에 따라 다릅니다. Compact Framework에서는 많은 유형이 지원되지 않습니다.

1

.NET이 Windows 98 또는 ME에서 실제로 작동하지 않았다는 경험을 통해 알 수 있습니다. 2002 년 버전 1.0이 새롭게 떠오른 것을 기억합니다. 일부 동료들과 저는 몇몇 단추와 죽은 단순 기능을 갖춘 WinForm보다 복잡한 것은 Microsoft의 주장과 달리 Windows 9x에서는 실행되지 않습니다. 우리가 XP 로의 1 년이라는 것을 감안할 때, 우리가 당시에 처리했던 시스템에서 적어도 Windows 2000을 합리적으로 기대할 수는 있었지만 큰 문제는 아니 었습니다.

기본적으로 Microsoft는 이전 버전의 Windows를 무시하고 .NET을 사용하지 않습니다. 요즘은 PlatformNotSupportedException 예외를 던지고 있습니다.

0

내가 모두를 위해 말할 수 있지만 예를 들어 Vista에서 이벤트 로그 시스템 이었다는 것을 알고 totally overhauled 및 Windows XP의 이벤트 로그 시스템과 거의 비슷합니다. 그것은 아마도 문자 그대로 호환되지 않을 것입니다.

0

System.Diagnostics.Eventing은 AppFabric (예 : Windows Azure)에서 사용되므로 기본적으로 Windows XP가 클라우드와 통신하도록하는 힘든 싸움을 싸울 것입니다.

관련 문제