다음을 통해 공유


.NET Framework의 사용되지 않는 기능

.NET Framework는 계속 변경되고 있습니다. 새 버전마다 새로운 기능을 제공하는 새 형식 및 형식 멤버가 추가됩니다. 기존 형식 및 이 형식의 멤버 또한 계속 변경되고 있습니다. 예를 들어, 일부 형식은 지원 대상 기술이 새 기술로 대체됨에 따라 중요성이 감소하고 일부 메서드는 보다 편리하거나 기능이 완전한 새 메서드로 교체됩니다.

.NET Framework 및 공용 언어 런타임은 이전 버전과의 호환성을 지원하여 .NET Framework의 특정 버전으로 개발된 응용 프로그램이 .NET Framework의 향후 버전에서도 실행될 수 있게 하려고 합니다. 바로 이러한 이유 때문에 형식 또는 형식 멤버를 쉽게 제거할 수 없는 것입니다. 대신 .NET Framework에서는 형식 또는 형식 멤버를 사용 안 함(obsolete 또는 deprecated)으로 표시하여 해당 형식이나 형식 멤버가 더 이상 사용되지 않아야 함을 나타냅니다. 형식 또는 멤버를 더 이상 사용하지 않으려면 obsolete 또는 deprecated로 표시하여 개발자에게 해당 형식 또는 멤버가 제거될 예정임을 알리고 이에 대응할 시간적 여유를 주어야 합니다. 그러나 해당 형식 또는 멤버를 사용하는 기존 코드는 .NET Framework의 새 버전에서도 계속 실행됩니다.

참고참고

.NET Framework의 형식 및 멤버에 적용될 경우 사용 안 함을 나타내는 두 용어 obsolete 및 deprecated는 동일한 의미를 가집니다.

ObsoleteAttribute 특성

.NET Framework에서는 형식 또는 형식 멤버를 ObsoleteAttribute 특성으로 표시하여 해당 형식 또는 형식 멤버가 더 이상 사용되지 않음을 나타냅니다. 이 특성을 형식 또는 멤버에 적용하면 해당 형식 또는 멤버가 .NET Framework의 향후 버전에서 제거되지만 해당 멤버를 사용하는 컴파일된 코드는 정상적으로 실행됨을 알 수 있습니다.

ObsoleteAttribute 특성은 형식 또는 형식 멤버가 더 이상 사용되지 않음을 나타낼 뿐 아니라 해당 형식 또는 멤버를 포함하는 소스 코드를 컴파일러에서 처리하는 방법도 정의합니다. 컴파일러는 코드를 컴파일하지만 경고 메시지를 표시하거나 해당 형식 또는 멤버의 사용을 오류로 간주할 수 있습니다. 첫 번째 경우 코드는 성공적으로 컴파일되지만 해당 형식 또는 멤버가 더 이상 사용되지 않는다고 알려 주는 경고 메시지가 나타납니다. 두 번째 경우에는 컴파일에 실패합니다.

컴파일 과정에서 경고 메시지 대신 오류가 생성되는 경우에도 ObsoleteAttribute는 런타임 동작에 영향을 주지 않습니다. 즉, 해당 형식 또는 멤버를 사용하고 성공적으로 컴파일된 응용 프로그램은 항상 성공적으로 실행됩니다. 해당 형식 또는 멤버를 사용하는 응용 프로그램을 다시 컴파일하려고 하는 경우에만 실패하게 됩니다.

방법: 사용되지 않는 형식 및 멤버 처리

기존 코드를 업그레이드하고 다시 컴파일할 때 더 이상 사용되지 않기 때문에 응용 프로그램에서 컴파일러 경고를 생성하는 형식 또는 멤버를 사용하는 것은 아무런 문제가 없습니다. 그러나 이 경우 컴파일러 경고 메시지를 검토하여 응용 프로그램 코드를 변경해야 하는지 여부를 결정해야 합니다. 경고 메시지를 통해 적절한 대안이 제시되지 않으면 다음 중 하나를 수행해야 합니다.

  • 가능하면 해당 형식 또는 멤버를 사용하는 부분을 제거하여 코드를 변경합니다.

    또는

  • 이 기술 영역에 대한 문서를 검토하여 해당 형식 또는 멤버를 더 이상 사용할 수 없는 상황에 대한 대응 방법을 결정합니다.

.NET Framework의 이후 버전을 기반으로 기존 코드를 다시 컴파일하지 않도록 선택할 수도 있습니다. 대신 기존의 컴파일된 코드가 실행되는 .NET Framework 버전을 지정할 수 있습니다. 예를 들어, .NET Framework 3.5를 기반으로 컴파일된 app1.exe라는 응용 프로그램을 .NET Framework 4을 기반으로 실행하려는 경우를 가정해 봅니다. 이렇게 하려면 다음 단계가 필요합니다.

  1. 주 실행 파일의 구성 파일을 만들고 이 파일의 이름을 appName.exe.config로 지정합니다. 여기서 appName은 응용 프로그램 실행 파일의 이름입니다. 위에서 가정한 app1.exe라는 응용 프로그램에 대해서는 app1.exe.config라는 구성 파일을 만듭니다.

  2. 다음을 구성 파일에 추가합니다.

    <configuration>
       <startup> 
          <supportedRuntime version="v4.0" />
       </startup>
    </configuration>
    

다음 표에는 .NET Framework의 특정 버전을 대상으로 지정하기 위해 version 특성에 할당할 수 있는 문자열 값이 나와 있습니다.

.NET Framework 버전

version 문자열

4

v4.0

3.5

v2.0.50727

2.0

v2.0.50727

1.1

v1.1.4322

1.0

v1.0.3705

.NET Framework 4에서 더 이상 사용되지 않는 형식 및 멤버 목록

사용되지 않는 형식

사용되지 않는 멤버

이전 버전에서 더 이상 사용되지 않는 형식 및 멤버 목록

.NET Framework 3.5 Obsolete List

.NET Framework 2.0 Obsolete List

참고 항목

참조

<supportedRuntime> 요소