Net framework는 윈도우에서 소프트웨어를 실행시키는 환경도 되고, 개발환경도 됩니다.
프로그램을 닷넷(=넷프레임워크)으로 제작을 하고..
사용자는 넷프레임워크를 설치를 해서 넷프레임워크 안에서 프로그램이 돌아가는 겁니다.
과거 윈도우 응용프로그램들은 윈도우만 설치가 되어 있었으면 실행이 가능했었습니다.
그때는 인터넷에서 돌리는 프로그램이 없을 때 였지요..
인터넷이 발달하면서 윈도우에서 설치해서 사용하던 프로그램보다 웹 브라우저나 웹 상에서 돌리는 프로그램들이 많아 지게 되었지요
그래서 나온 엔진이 넷프레임워크 입니다.
자바로 만든 게임을 실행하려면 자바 JVM를 설치를 했던 기억들이 있을 겁니다.
지금도 웹상에서 돌리려면 반드시 필요로 하지요..
같은 개념입니다. 넷프레임워크도 윈도우용 프로그램이고 웹상에서 돌리는 프로그램을 쉽게 만들수 있게 만든 것입니다.
현재는 윈도우가 넷프레임워크가 내장이 되어서 출시가 됩니다만...
그만큼 인터넷 프로그램이 전체 응용프로그램에서 차지 하는 비중이 많아 진 것이죠..
프레임워크란?
프레임워크는 프로그램을 개발하는 뼈대 같은 것입니다.
자바, 루비, css, html5 등은 큰 의미에서 프로그램을 개발하는 플랫폼이라고 부를 수 있겠지요
프레임워크는 플랫폼보다는 작은 개념이 되겠네요.
넷프레임워크는 왜 필요한가 ?
인터넷에서 사용되는 윈도우용 프로그램을 쉽게 개발하기 위해서 만들어 졌습니다.
프로그램 개발자에게 메모리 관리를 고민할 필요가 없이, 쉽게 만들 수 있게 해주고
일반유저에게는 프로그램을 돌리는 환경을 조성하는 역할을 하는 것이죠.
넷프레임워크 사용해서 만드는 프로그램은 인터넷게임, 익스플로러의 엑티브X, 동영상교육사이트등
인터넷 상에서 프로그램을 사용하는 느낌을 같는 프로그램인데 윈도우용으로 만든 사이트라면
대부분 개발을 넷프레임워크를 사용했습니다.
따라서 사용자는 개발할 때 사용한 넷프레임워크가 설치가 되어 있어야 하겠지요.
넷프레임워크 버전마다 설치를 해야 하는가..
아래 표를 보시면 버전 옆에 개발도구인 Visual Studio 버전이 있습니다.
넷프레임워크로 만든 응용프로그램을 실행할 때는
프로그램이 만들어질 때 사용했던 넷프레임워크 버전이 설치되어야 안전합니다.
인터넷 사이트 방문시 프로그램을 다운받아서 설치하는데
넷프레임워크를 먼저 다운 받아야 되는 경우가 종종 있을 겁니다.
이것은 넷프레임워크로 만든 프로그램이 실행할 때..
넷프레임워크의 버전이 설치되어 있는 경로명, 어셈블리화 코드가 저장되어 있는 폴더를
찾아서 프로그램을 초기화 시킨 후에 실행하는 과정 때문입니다.
실패하면 실행이 안되지요.
요즘 윈도우업데이트시 에러 질문을 받다 보면
기존의 옛날에 사용했던 하드웨어 드라이버 설치..
혹은 과거에 사용했던 응용프로그램 설치 중 에러를 자세히 들여다 보면
넷프레임워크가 설치가 안되어 나오는 경우도 종종 봅니다.
윈도우 버전과 넷 프레임워크
|
|
|
---|---|---|
|
Visual Studio 2013 |
style="FONT-FAMILY: 'Malgun Gothic', Gulim, 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif !important" xmlns="http://www.w3.org/1999/xhtml" xhtml:sentencetext 1999 www.w3.org>Windows 스토어 응용 프로그램에 대한 확장된 지원을 포함합니다. xhtml:sentencetext 1999 www.w3.org> |
|
Visual Studio 2012 |
style="FONT-FAMILY: 'Malgun Gothic', Gulim, 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif !important" xmlns="http://www.w3.org/1999/xhtml" xhtml:sentencetext 1999 www.w3.org>그리고 WPF, WCF, WF, ASP.NET에 대한 업데이트가 포함됩니다. xhtml:sentencetext 1999 www.w3.org> |
4 (윈도우 7) |
|
style="FONT-FAMILY: 'Malgun Gothic', Gulim, 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif !important" xmlns="http://www.w3.org/1999/xhtml" xhtml:sentencetext 1999 www.w3.org>MEF(Managed Extensibility Framework), DLR(dynamic language runtime) 및 코드 계약과 같은 새 기능을 소개했습니다. xhtml:sentencetext 1999 www.w3.org> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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줄 정도 된걸로 기억하는데...
지금은 메모리 관리하는 변수를 잡을 필요도 없고
징치명이나 장치에 들어가 메모리관리를 해줄 필요도 없지요
넷프레임워크의 구조
'윈도우8' 카테고리의 다른 글
마이크로소프트 MVP Community Camp 세미나 (0) | 2014.02.28 |
---|---|
윈도우 메모리사용에 대해 질문좀하겠습니다 (3) | 2014.02.10 |
윈도우8에서 앱 설치 오류0x8024001e (0) | 2014.01.17 |
윈도우8에서 0x80070005 에러가 뜨면서 설치가 되지 않습니다 (9) | 2014.01.02 |
윈도우8 작업관리자에 winlogon.exe logonui.exe가 여러개 떠 있습니다. (0) | 2013.12.25 |