윈도우8

넷프레임워크 삭제해도 되나요.

sungtg 2014. 1. 20. 13:10

Net framework는 윈도우에서 소프트웨어를 실행시키는 환경도 되고, 개발환경도 됩니다.

프로그램을 닷넷(=넷프레임워크)으로 제작을 하고..

사용자는 넷프레임워크를 설치를 해서 넷프레임워크 안에서 프로그램이 돌아가는 겁니다.

 

과거 윈도우 응용프로그램들은 윈도우만 설치가 되어 있었으면 실행이 가능했었습니다.

그때는 인터넷에서 돌리는 프로그램이 없을 때 였지요..

인터넷이 발달하면서 윈도우에서 설치해서 사용하던 프로그램보다 웹 브라우저나 웹 상에서 돌리는 프로그램들이 많아 지게 되었지요

그래서 나온 엔진이 넷프레임워크 입니다.

 

자바로 만든 게임을 실행하려면 자바 JVM를 설치를 했던 기억들이 있을 겁니다.

지금도 웹상에서 돌리려면 반드시 필요로 하지요..

같은 개념입니다. 넷프레임워크도 윈도우용 프로그램이고 웹상에서 돌리는 프로그램을 쉽게 만들수 있게 만든 것입니다.

 

현재는 윈도우가 넷프레임워크가 내장이 되어서 출시가 됩니다만...

그만큼 인터넷 프로그램이 전체 응용프로그램에서 차지 하는 비중이 많아 진 것이죠..

 

프레임워크란?

 

프레임워크는 프로그램을 개발하는 뼈대 같은 것입니다.

자바, 루비, css, html5 등은 큰 의미에서 프로그램을 개발하는 플랫폼이라고 부를 수 있겠지요

프레임워크는 플랫폼보다는 작은 개념이 되겠네요.

 

넷프레임워크는 왜 필요한가 ?

 

인터넷에서 사용되는 윈도우용 프로그램을 쉽게 개발하기 위해서 만들어 졌습니다.

프로그램 개발자에게 메모리 관리를  고민할 필요가 없이, 쉽게 만들 수 있게 해주고

일반유저에게는 프로그램을 돌리는 환경을 조성하는 역할을 하는 것이죠.

 

넷프레임워크 사용해서 만드는 프로그램은  인터넷게임, 익스플로러의 엑티브X,  동영상교육사이트등

인터넷 상에서 프로그램을 사용하는 느낌을 같는 프로그램인데 윈도우용으로 만든 사이트라면

대부분 개발을 넷프레임워크를 사용했습니다.

따라서 사용자는 개발할 때 사용한 넷프레임워크가 설치가 되어 있어야 하겠지요.

 

 

넷프레임워크 버전마다 설치를 해야 하는가..

 

아래 표를 보시면 버전 옆에 개발도구인 Visual Studio 버전이 있습니다.

넷프레임워크로 만든 응용프로그램을 실행할 때는 

프로그램이 만들어질 때 사용했던 넷프레임워크 버전이 설치되어야 안전합니다.

 

인터넷 사이트 방문시 프로그램을 다운받아서 설치하는데

넷프레임워크를 먼저 다운 받아야 되는 경우가 종종 있을 겁니다.

 

이것은 넷프레임워크로 만든 프로그램이 실행할 때..

넷프레임워크의 버전이 설치되어 있는 경로명, 어셈블리화 코드가 저장되어 있는 폴더를

찾아서 프로그램을 초기화 시킨 후에 실행하는 과정 때문입니다.

실패하면 실행이 안되지요.

 

요즘 윈도우업데이트시 에러 질문을 받다 보면

기존의 옛날에 사용했던 하드웨어 드라이버 설치..

혹은 과거에 사용했던 응용프로그램 설치 중 에러를 자세히 들여다 보면

넷프레임워크가 설치가 안되어 나오는 경우도 종종 봅니다.

 

 

윈도우 버전과 넷 프레임워크

 

.NET Framework 버전

IDE 소개

설명

4.5.1  (윈도우 8.1)

Visual Studio 2013

성능과 디버깅 향상, 자동 바인딩 리디렉션 지원 및

Windows 스토어 응용 프로그램에 대한 확장된 지원을 포함합니다.

4.5   (윈도우 8)

Visual Studio 2012

CLR의 업데이트된 버전, Windows Windows 스토어 앱 빌드에 대한 지원,

그리고 WPF, WCF, WF, ASP.NET에 대한 업데이트가 포함됩니다.

4      (윈도우 7)

Visual Studio 2010

새 CLR 버전, 확장된 기본 클래스 라이브러리,

MEF(Managed Extensibility Framework), DLR(dynamic language runtime) 및 코드 계약과 같은 새 기능을 소개했습니다.

3.5  (윈도우 7, 비스타)

Visual Studio 2008

AJAX 사용 웹 사이트 및 LINQ와 같은 새 기능이 추가되었습니다. 

SP1 업데이트에서 Dynamic Data 및 약간의 향상된 추가 기능을 추가했습니다.

3.0  (윈도우비스타, 7)

Visual Studio 2005

이 버전은 WPF(Windows Presentation Foundation), WCF(Windows Communications Foundation), WF(Windows Workflow Foundation) 및 CardSpace가 추가되어 .NET Framework 2.0에서 필수적입니다. SP1 및 SP2를 업데이트하였습니다.

2.0  (윈도우xp, 비스타)

Visual Studio 2005

제네릭, 제네릭 컬렉션 및 많은 ASP.NET 추가 기능을 포함하는 기본 클래스 라이브러리 외에 새 CLR 버전이 도입되었습니다. 이 버전은 SP1 및 SP2에서 업데이트되었습니다.

1.1 (윈도우 xp)

Visual Studio .NET 2003

ASP.NET 및 ADO.NET에 대한 업데이트가 포함되었습니다. 이 버전은 SP1(서비스 팩 1) 및 SP2에서 연속으로 두 번 업데이트되었습니다. 이 버전에는 단일 컴퓨터에서 앱이 여러 버전의 CLR에 대해 실행될 수 있도록 설정하는 side-by-side 실행이 도입되었습니다.

1.0

Visual Studio .NET

CLR의 첫 번째 버전과 기본 클래스 라이브러리의 첫 번째 버전이 포함되었습니다.

 

 

CLR 버전

.Net Framework Version CLR Version CLR DLL
1.0 1.0 mscorwks, mscorsvr
1.1 1.1 mscorwks, mscorsvr
2.0 2.0 mscorwks
3.0 2.0  
3.5 2.0  
4.0 4.0 clr
4.5 4.0  

 

 

넷 프레임워크의 종속성

 

넷프레임워크는 상위 버전이 하위 버전과 호환되게 설계되어 있습니다.

그러나 winsxs의 폴더의 위치나 CLR 버전의 호환,  visual studio 버전에서 컴파일되는 차이 등 때문에..

하위버전을 상위버전에서 돌리려면 순차적으로 상위버전 visual studio 에서 컴파일을 해야 되는 부분이 있을 수 있습니다.

 

윈도우를 기준으로 해서 호환성을 보면

 

xp는 넷프레임워크 4.0을 지원하지 않습니다. 설치를 할 수 없다는 이야기죠.

넷프레임워크 3.5 3.0 2.0은 비교적 호환이 잘 됩니다.

 

인터넷 상에서 응용프로그램이 설치하라는 넷프레임워크 버전을 설치를 했는대도

안된다면 하위버전부터 설치를 차례대로 해보세요

 

CLR 이란

 

CLR이라고 부르는 것이 있는데...

프로그램은 사람이 알아듣는 알파벳으로 코딩을 할 수 있지만

이것을 운영체제와 cpu가 알아듣는 어셈블리로 바꾸는 과정을  CLR  이라고 합니다.

CLR이 중요한 역할은 메모리 관리를 대신 해주는 역할 입니다.

 

제가 88년도 인가  어셈블리로 실행파일을 만들었던 적이 있는데..

그때 화면에 "TEST" 라는 글자 나오는 실행파일을 만들기 위해서

메모리 선언을 해주고

각 변수에 글자를 잡아서 메모리에 지정하고...

거기에 넣고 CRT장치로 옮기고...

 

한 2-30줄 정도 된걸로 기억하는데...

 

지금은 메모리 관리하는 변수를 잡을 필요도 없고

징치명이나 장치에 들어가 메모리관리를 해줄 필요도 없지요

 

 

                   넷프레임워크의 구조