본문 바로가기
컴퓨터사이언스

닷넷프레임워크 + 닷넷프레임워크 응용프로그램 문제 해결법!

by 괴짜코더 2022. 4. 22.
.NET Framework는 .NET Framework를 대상으로 하는 앱을 관리하는 런타임 실행 환경입니다. .NET Framework는 메모리 관리 및 기타 시스템 서비스를 제공하는 공용 언어 런타임과 프로그래머가 모든 주요 앱 개발 영역에서 강력하고 신뢰할 수 있는 코드를 활용할 수 있게 하는 광범위한 클래스 라이브러리로 구성됩니다.
.NET Framework 4.8은 .NET Framework의 마지막 버전입니다.
.NET Framework는 보안 및 안정성 버그 수정이 매월 제공됩니다.
.NET Framework는 계속 Windows에 포함되며 제거되지 않을 예정입니다.
.NET Framework 앱을 마이그레이션할 필요는 없지만, 새로 개발하려면 .NET 5 이상을 사용해야 합니다.
.NET에는 다양한 구현이 있습니다. 각 구현을 통해 .NET 코드를 Linux, macOS, Windows, iOS, Android 등 다양한 위치에서 실행할 수 있습니다.
  1. .NET Framework는 .NET의 원래 구현입니다. Windows에서 웹 사이트, 서비스, 데스크톱 앱 등을 실행하는 것을 지원합니다.
  2. .NET은 Windows, Linux 및 macOS에서 웹 사이트, 서비스 및 콘솔 앱을 실행하기 위한 플랫폼 간 구현입니다. .NET은 GitHub의 오픈 소스입니다. .NET은 이전에 .NET Core라고 했습니다.
  3. Xamarin/Mono는 iOS 및 Android를 포함한 모든 주요 모바일 운영 체제에서 앱을 실행하기 위한 .NET 구현입니다.

.NET Standard는 .NET 구현에서 공통적인 API의 공식 사양입니다. 이를 통해 동일한 코드와 라이브러리를 다른 구현에서 실행할 수 있습니다.

.NET Framework란?

.NET Framework는 실행 중인 앱에 다양한 서비스를 제공하는 Windows용 관리형 실행 환경으로, 다음 두 가지 주요 구성 요소로 구성됩니다. 하나는 실행 중인 앱을 처리하는 실행 엔진인 CLR(공용 언어 런타임)이고, 다른 하나는 개발자가 자신의 앱에서 호출할 수 있도록 테스트되고 재사용 가능한 코드로 구성된 .NET Framework 클래스 라이브러리입니다. .NET Framework가 실행 중인 앱에 제공하는 서비스는 다음과 같습니다.

  • 메모리 관리. 많은 프로그래밍 언어에서 프로그래머는 메모리를 할당하고 해제하며 개체 수명을 처리하는 일을 담당합니다. .NET Framework 앱에서 CLR은 앱을 대신하여 이러한 서비스를 제공합니다.
  • 공용 형식 시스템. 일반적인 프로그래밍 언어에서 기본 형식은 컴파일러에 의해 정의되므로 언어 간 상호 운용성을 까다롭게 합니다. .NET Framework에서 기본 형식은 .NET Framework 형식 시스템에 의해 정의되며 .NET Framework를 대상으로 하는 모든 언어에 공통적입니다.
  • 광범위한 클래스 라이브러리. 프로그래머는 낮은 수준의 일반적인 프로그래밍 작업을 처리하는 방대한 양의 코드를 작성하는 대신 .NET Framework 클래스 라이브러리에서 쉽게 액세스할 수 있는 형식 및 해당 멤버로 구성된 라이브러리를 사용합니다.
  • 개발 프레임워크 및 기술. .NET Framework에는 웹앱용 ASP.NET, 데이터 액세스용 ADO.NET, 서비스 지향 앱용 Windows Communication Foundation, Windows 데스크톱 앱용 Windows Presentation Foundation 등과 같은 앱 개발의 특정 영역을 위한 라이브러리가 포함되어 있습니다.
  • 언어 상호 운용성. .NET Framework를 대상으로 하는 언어 컴파일러에서 CIL(공용 중간 언어)이라는 중간 코드를 내보내면 이 코드는 런타임 시 공용 언어 런타임에 의해 컴파일됩니다. 이 기능을 사용하면 하나의 언어로 작성된 루틴은 다른 언어로 액세스하고 프로그래머는 기본 설정 언어로 앱을 만드는 데 집중할 수 있습니다.
  • 버전 호환성. 거의 예외 없이 .NET Framework의 특정 버전을 사용하여 개발한 앱은 이후 버전에서 수정하지 않고 실행할 수 있습니다.
  • Side-by-Side 실행. .NET Framework를 사용하면 동일한 컴퓨터에 여러 버전의 공용 언어 런타임이 존재하도록 허용함으로써 버전 충돌을 해결할 수 있습니다. 즉, 여러 버전의 앱이 공존할 수 있으며 앱이 해당 앱을 빌드한 .NET Framework 버전에서 실행될 수 있습니다. Side-by-Side 실행은 .NET Framework 버전 그룹 1.0/1.1, 2.0/3.0/3.5 및 4/4.5.x/4.6.x/4.7.x/4.8에 적용됩니다.
  • 멀티 타기팅. 개발자는 .NET Standard를 대상으로 지정하여 표준 버전에서 지원하는 여러 .NET Framework 플랫폼에서 작동하는 클래스 라이브러리를 만듭니다. 예를 들어 .NET Framework 4.6.1, .NET Core 2.0 및 UWP 10.0.16299를 대상으로 하는 앱은 .NET Standard 2.0을 대상으로 하는 라이브러리를 사용할 수 있습니다.

사용자용 .NET Framework

.NET Framework 앱을 개발하지 않고 사용만 하는 경우 .NET Framework 또는 작동에 대한 특정 지식이 필요하지 않습니다. 대부분의 경우 프레임워크는 사용자에게 완전히 투명하게 공개됩니다.

Windows 운영 체제를 사용하는 경우 .NET Framework가 이미 컴퓨터에 설치되었을 수 있습니다. 또한 .NET Framework가 필요한 앱을 설치하면, 앱의 설치 프로그램이 특정 버전의 프레임워크를 컴퓨터에 설치할 수 있습니다. 경우에 따라 .NET Framework를 설치하라는 대화 상자가 나타날 수 있습니다. 이 대화 상자가 나타날 때 앱을 실행하려고 하면(컴퓨터가 인터넷이 연결되어 있는 경우), 누락된 .NET Framework 버전을 설치할 수 있는 웹 페이지로 이동할 수 있습니다. 자세한 내용은 설치 가이드를 참조하세요.

일반적으로는 컴퓨터에 설치되어 있는 .NET Framework 버전을 제거해서는 안 됩니다. 여기에는 두 가지 이유가 있습니다.

  • 사용 중인 앱이 특정 .NET Framework 버전을 사용하는 경우 해당 버전을 제거하면 앱이 손상될 수 있습니다.
  • 일부 .NET Framework 버전은 이전 버전에 대한 전체 업데이트입니다. 예를 들어 .NET Framework 3.5는 2.0 버전에 대한 전체 업데이트이며 .NET Framework 4.8은 4~4.7.2 버전에 대한 전체 업데이트입니다. 자세한 내용은 .NET Framework 버전 및 종속성을 참조하십시오.

Windows 8 이전 버전에서 .NET Framework를 제거하려는 경우에는 항상 제어판의 프로그램 및 기능을 사용하여 제거합니다. .NET Framework 버전을 수동으로 제거해서는 안 됩니다. Windows 8 이상에서 .NET Framework는 운영 체제 구성 요소이며 독립적으로 제거할 수 없습니다.

컴퓨터 한 대에 여러 버전의 .NET Framework가 동시에 공존할 수 있습니다. 즉, 최신 버전을 설치하기 위해 이전 버전을 제거하지 않아도 됩니다.

개발자용 .NET Framework

개발자인 경우 .NET Framework를 지원하는 프로그래밍 언어를 선택하여 앱을 만드는 것이 좋습니다. .NET Framework는 언어 독립성과 상호 운용성을 제공하기 때문에, 개발에 사용된 언어와 관계없이 다른 .NET Framework 앱 및 구성 요소와 상호 작용할 수 있습니다.

.NET Framework 앱 또는 구성 요소를 개발하려면 다음과 같이 하세요.

  1. 운영 체제에 사전 설치되지 않은 경우, 앱의 대상이 되는 .NET Framework 버전을 설치합니다. 현재 버전은 .NET Framework 4.8입니다. Windows 10 2019년 5월 업데이트, Windows 10 2019년 11월 업데이트, Windows 10 2020년 5월 업데이트 및 Windows 10 2020년 10월 업데이트에 사전 설치되어 있으며, 이전 버전의 Windows 운영 체제에서 다운로드할 수 있습니다. .NET Framework 시스템 요구 사항은 시스템 요구 사항을 참조하십시오. 다른 버전의 .NET Framework 설치에 대한 자세한 내용은 설치 가이드를 참조하세요. 추가 .NET Framework 패키지는 대역 외로 릴리스됩니다. 즉, 모든 일반 또는 예약된 릴리스 주기를 벗어난 롤링 방식으로 릴리스됩니다. 이러한 패키지에 대한 자세한 내용은 .NET Framework 및 번외 릴리스를 참조하세요.
  2. 앱 개발에 사용하려는 .NET Framework 버전에서 지원하는 언어를 하나 이상 선택합니다. Microsoft의 Visual BasicC#F# 및 C++/CLI를 포함한 많은 언어를 사용할 수 있습니다. (.NET Framework용 앱을 개발할 수 있는 프로그래밍 언어는 CLI(공용 언어 인프라) 사양을 준수합니다.)
  3. 앱을 만드는 데 사용되며 선택된 프로그래밍 언어를 지원하는 개발 환경을 선택하고 설치합니다. .NET Framework 앱의 Microsoft IDE(통합 개발 환경)은 Visual Studio입니다. 많은 버전을 사용 가능합니다.

응용프로그램 실행시  .NET Framework 에러 발생 해결 방안

  • 발생 원인

기존에 설치되어있던 .NET Framework에 문제가 생긴경우

프로그램이 필요한 .NET Framework 버전이 기존에 설치된 버전보다 높은경우

새버전의 .NET Framework을 설치하려는데 이미 설치된 기존 버전의 파일에 오류가 발생한경우

ex) .NET Framework을 재설치하거나 새버전을 설치했는데 안되는경우에는 프로그램 코드의 문제일 확률이 높습니다.

여러가지 이유야 있지만 위 사항에서 대부분 걸러지게 됩니다.

여러가지 솔루션 대책을 작성하니 본인의 문제에 맞게끔 선택하셔서 해결하시면 됩니다.

 


방법1 / 새로운 버전의 .NET Framework 설치

이경우에는 보통 프로그램을 실행하여 사용하려 하는데 오류가 발생한 경우가 대부분일 겁니다.

위에서 언급했듲이 .NET Framework 4.8은 .NET Framework의 마지막 버전임으로 4.8버전을 설치합니다.

4.8 런타임 버전 다운 설치 링크

 

Download .NET Framework 4.8 | Free official downloads

Downloads for building and running applications with .NET Framework 4.8 . Get web installer, offline installer, and language pack downloads for .NET Framework.

dotnet.microsoft.com

 

방법2 / 제어판에서 .NET Framework 구버전 직접 제거하기

제어판 -> 프로그램 -> 프로그램 및 기능에 검색 창에 Microsft .NET Framework 검색하여 설치된 버전이 나열됩니다.

그 중 구버전들을 다 삭제 하고 위에 링크 4.8버전을 설치하면됩니다.

방법3 / 마이크로 소프트에서 제공하는 dotnetfx_cleanup_tool 툴 이용하기

해당 프로그램을 이용하여 기존에 설치된 .NET Framework 들을 완벽하게 제거한 후에 최신버전의 .NET Framework을 다운받아 설치하시면 됩니다.

dotnetfx_cleanup_tool 적힌 .zip 파일이나 그아래 링크 파일을 다운받아쓰면된다.

https://docs.microsoft.com/ko-kr/archive/blogs/astebner/net-framework-cleanup-tool-users-guide

 

.NET Framework Cleanup Tool User's Guide

Table of contents Article 08/28/2008 7 minutes to read In this article --> .NET Framework Cleanup Tool User's Guide Introduction This .NET Framework cleanup tool is designed to automatically perform a set of steps to remove selected versions of the .NET Fr

docs.microsoft.com

기본적으로 .NET Framework Setup Cleanup Utility 응용프로그램이 실행되면 Product to cleanup에 All versions 셋업으로 맞춰주고 Cleanup Now 버튼을 클릭후 모든 프로세스 과정이 끝나면 응용 프로그램을 종료하면 됩니다.

댓글