2014년 8월 4일 월요일

공유 어셈블리 생성을 위한 준비[닷넷C#교육/ADO.NET강좌/ASP.NET교육잘하는곳/C#,ASP.NET교육추천/닷넷실무교육/.NET,C#/ADO.NET교육/닷넷학원/ASP.NET실무교육]

1. .NET Framework 
 : .NET 플랫폼용 응용프로그램을 개발하기 위한 개발 인프라 

 - 구성 
  1) .NET Framework Class Library 
        : 기존 마이크로소프트의 개발 API(Win32API, MFC, ATL, VB6 함수들, ASP 내장 개체들 + Alpha) 
        를 객체지향의 클래스 형태로 재구성한 개발 API 
  2) 공용 언어 런타임(Common Language Runtime: CLR) 
        : .NET 기반 응용프로그램에 대한 실행 환경을 제공하는 런타임 엔진 
  
2. 어셈블리(Assembly) 
 : .NET 기반의 실행 가능한 파일(.exe)와 클래스 라이브러리(.dll)를 말함 
  응용프로그램의 배포, 재사용 그리고 버전관리의 기본단위 
  클래스 라이브러리(.dll) 형태의 어셈블리를 .NET 컴포넌트라 함 

3. 네임스페이스(Namespace) 
 : .NET Framework Class Library의 클래스들에 대한 계층적 구조의 논리적 그룹핑 단위 
 - 목적 
  1) 원하는 클래스를 쉽고 효율적으로 검색, 사용하기 위함 
  2) 클래스 이름의 충돌을 방지하기 위함 

 - 네임스페이스의 클래스 참조 방법 
  1) 네임스페이스와 클래스 이름 전체를 기술해서 참조 
        Dim fs As System.IO.FileStream 
        fs = New System.IO.FileStream(fName, System.IO.FileMode.Open) 
        ... 
        fs.Close() 
  2) 네임스페이스를 Imports문을 사용하여 가져오기 한 후 클래스 이름만 기술해서 참조 
        Imports System.IO 
        ... 
        Dim fs As FileStream 
        fs = New FileStream(fName, System.IO.FileMode.Open) 
        ... 
        fs.Close() 


4. .NET 컴포넌트(.dll) 
 : 크게 사설(Private) 어셈블리와 공유(Shared) 어셈블리로 구분된다. 
  
  1) 사설(Private) 어셈블리 
        특정 응용프로그램이나 관련된 몇몇 응용프로그램에 한정적으로 사용되는 어셈블리 
        - 위치 
        : 응용프로그램의 루트 디렉토리(웹 응용프로그램의 경우 bin 디렉토리) 
          응용프로그램의 루트 디렉토리 하위 디렉토리에 위치할 경우 환경설정(.config)를 통해 하위 디렉토리를 지정함 

  2) 공유(shared) 어셈블리 
        시스템에 있는 모든 .NET 응용프로그램에서 사용 가능한 어셈블리 
        - 조건 
        : 반드시 강력한 이름(strong-Named) 어셈블리이어야 함 
          전역 어셈블리 캐시에 위치해야 함 
        - 특징 
        : 버전별 실행(side-by-side Execution)지원 : 클라이언트에 서로다른 버전이 동시에 존재, 원하는 버전 실행 가능 
          .NET 엔터프라이즈 서비스(COM+)용 컴포넌트가 되기 위한 기본조건 

          - 강력한 이름(strong-Named) 어셈블리 
          (1) 생성 
                1. 강력한 이름 키(key)파일 생성 : 하나의 키 파일을 생성하여 공통으로 사용 
                  sn.exe 사용하여 생성 : sn.exe -k 키파일명(vs.net의 명령프롬프트에서 실행) 
                2. 생성된 키(key)파일과 함께 어셈블리 빌드 
                  AssemblyKeyFileAttribute 특성 클래스 사용 
                => AssemblyInfo.vb에 추가: <Assembly: AssemblyKeyFile(@"(절대경로 or 상대경로)키파일명")> 
          
        - 전역 어셈블리 캐시(GAC, Global Assembly cache)에 등록 
        : 강력한 이름(strong-Named) 어셈블리가 위치하는 시스템 캐시 영역 
          위치: %Window%\Assembly 
          gacutil.exe 사용하여 등록, 조회, 삭제 가능 
          => gacutil.exe 외부도구에 추가 
          1. vs.net 2003 실행 
          2. 도구 -> 외부도구 선택 
          3. 외부도구 창에서 추가 
              제목: GAC 등록 
              명령: 찾기에서 C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\gacutil.exe 선택 
              인수: -i 입력, 한칸띄우고 화살표 클릭하여 "대상경로"선택(-i $(TargetPath)) 
            "출력 창 사용" 에 체크하고 적용, 확인한다. 

              

다음 강의에서 오늘 작업한 내용을 가지고 실제로 공유 어셈블리를 생성해 보도록 하겠습니다.          
        



평일주간[100%환급과정]
(8/08)Spring,MyBatis,Hibernate실무과정
(8/08)C#4.0,WinForm,ADO.NET
(8/11)SQL기초에서 Schema Object까지
(8/11)채용예정교육
(8/18)자바기초JDBC,Servlet/JSP까지
(8/18)안드로이드개발자과정
(8/18)PL/SQL,ORACLE HINT,TUNING
평일야간[개인80%환급]
(8/06)JSP,jQUERY,Spring,MyBatis
(8/11)SQL기초에서실무까지
(8/11)안드로이드개발자과정
(8/12)Spring, MyBatis, Hibernate
(8/13)C#,Network,ADO.NET,ASP.NET
(8/13)HTML5,CSS3,Ajax,jQuery마스터
(8/28)자바JSP,jQuery,Spring,MyBatis
주말주간[개인80%환급]
(8/09)SQL기초에서실무까지
(8/09)안드로이드개발자과정
(8/09)자바JSP,Ajax,jQuery,Spring,MyBatis
(8/16)C#,ASP.NET마스터(8/16)웹퍼블리싱 마스터
(8/16)Spring, MyBatis, Hibernate
(8/23)JAVA,Network&WEB&Framework
주말야간[개인80%환급]
(8/09)SQL기초에서실무까지
(8/23)JAVA,Network&WEB&Framework

댓글 없음:

댓글 쓰기