Windows는 더 이상 .NET Framework 1.1 및 2.0을 지원하지 않습니다. 따라서 이전 .NET Framework 버전을 대상으로 하는 애플리케이션은 .NET Framework 3.5를 명시적으로 설치하지 않고 실행되지 않습니다. 그러나 앱을 .NET Framework 4로 업그레이드하는 것이 좋습니다. 이 문서에서는 이전 버전의 .NET Framework를 대상으로 하는 애플리케이션을 실행하는 데 필요한 단계를 설명합니다.
대상 다시 지정 또는 다시 컴파일
.NET Framework 1.1을 사용하여 컴파일된 애플리케이션을 Windows 7 이상 Windows 운영 체제에서 실행하는 두 가지 방법이 있습니다.
.NET Framework 4 이상 버전에서 실행할 애플리케이션의 대상을 다시 지정합니다.
대상을 다시 지정하려면 .NET Framework 4 이상 버전에서 실행할 수 있는 지원되는Runtime< 요소를 애플리케이션의 구성 파일에 추가>해야 합니다.
앱의 구성 파일은 동일한 디렉터리에 있고 앱과 파일 이름이 같지만 확장명을 가진 XML 파일입니다 .config . 예를 들어 이름이 지정된 MyExecutable.exe앱의 경우 애플리케이션 구성 파일의 이름이 지정 MyExecutable.exe.config됩니다.
이러한 구성 파일은 다음 형식을 사용합니다.
<configuration> <startup> <supportedRuntime version="v4.0"/> </startup> </configuration>
.NET Framework 4 이상을 대상으로 하는 컴파일러를 사용하여 애플리케이션을 다시 컴파일합니다. 원래 Visual Studio 2003을 사용하여 솔루션을 개발하고 컴파일한 경우 Visual Studio 2010(및 이후 버전에서도)에서 솔루션을 열고 프로젝트 호환성 대화 상자를 사용하여 솔루션 및 프로젝트 파일을 Visual Studio 2003에서 사용하는 형식에서 MSBuild(Microsoft Build Engine) 형식으로 변환할 수 있습니다.
애플리케이션을 다시 컴파일하거나 대상을 변경하려는지 여부에 관계없이 애플리케이션이 이후 버전의 .NET Framework에서 도입된 변경 내용의 영향을 받는지 여부를 결정해야 합니다. 이러한 변경 내용은 다음 두 가지 종류입니다.
.NET Framework 1.1 이상 버전의 .NET Framework 간에 발생한 주요 변경 내용입니다.
.NET Framework 1.1 이상 버전 간에 사용되지 않거나 사용되지 않는 것으로 표시된 형식 및 형식 멤버입니다.
애플리케이션의 대상을 다시 지정하든 다시 컴파일하든 관계없이 .NET Framework 1.1 이후에 릴리스된 각 .NET Framework 버전에 대해 호환성이 손상되는 변경 내용과 사용되지 않는 형식 및 멤버를 모두 검토해야 합니다.
파괴적 변경
중대한 변경이 발생할 경우, 변경의 종류에 따라 대상이 변경된 애플리케이션 및 다시 컴파일된 애플리케이션 모두에 대한 해결책이 제공될 수 있습니다. 경우에 따라 애플리케이션 구성 파일의 런타임< 요소에> 자식 요소를 추가하여 이전 동작을 복원할 수 있습니다. 예를 들어 다음 구성 파일은 .NET Framework 1.1에서 사용되는 문자열 정렬 및 비교 동작을 복원하고 대상을 변경하거나 다시 컴파일된 애플리케이션에서 사용할 수 있습니다.
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>
그러나 경우에 따라 소스 코드를 수정하고 애플리케이션을 다시 컴파일해야 할 수 있습니다.
가능한 변경 사항이 애플리케이션에 미치는 영향을 평가하려면, 다음의 변경 목록을 살펴보아야 합니다.
.NET Framework 2.0의 호환성을 깨뜨리는 변경 사항은 .NET Framework 1.1을 대상으로 하는 애플리케이션에 영향을 줄 수 있는 .NET Framework 2.0 SP1의 변경 내용을 문서화합니다.
.NET Framework 3.5 SP1에서의 변경 내용은 .NET Framework 3.5와 .NET Framework 3.5 SP1 간의 변화를 설명합니다.
.NET Framework 4 마이그레이션 문제는 .NET Framework 3.5 SP1과 .NET Framework 4 간의 변경 내용을 문서화합니다.
사용되지 않는 형식 및 멤버
더 이상 사용되지 않는 형식 및 멤버의 영향은 대상을 변경한 애플리케이션 및 다시 컴파일된 애플리케이션에 대해 다소 다릅니다. 사용되지 않는 형식 또는 멤버가 어셈블리에서 물리적으로 제거되지 않는 한 사용되지 않는 형식 및 멤버의 사용은 대상 변경된 애플리케이션에 영향을 미치지 않습니다. 사용되지 않는 형식 또는 멤버를 사용하는 애플리케이션을 다시 컴파일하면 일반적으로 컴파일러 오류가 아닌 컴파일러 경고가 생성됩니다. 그러나 경우에 따라 컴파일러 오류가 생성되고 사용되지 않는 형식 또는 멤버를 사용하는 코드가 성공적으로 컴파일되지 않습니다. 이 경우 애플리케이션을 다시 컴파일하기 전에 사용되지 않는 형식 또는 멤버를 호출하는 소스 코드를 다시 작성해야 합니다. 사용되지 않는 형식 및 멤버에 대한 자세한 내용은 클래스 라이브러리의 사용되지 않는 기능을 참조하세요.
.NET Framework 2.0 SP1 릴리스 이후 사용되지 않는 형식 및 멤버의 영향을 평가하려면 클래스 라이브러리에서 사용되지 않는 기능을 참조하세요. .NET Framework 2.0 SP1, .NET Framework 3.5 및 .NET Framework 4에 대한 사용되지 않는 형식 및 멤버 목록을 검토합니다.
.NET