2014년 11월 18일 화요일

공유 어셈블리 생성을 위한 준비[닷넷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%환급,개발자전문]빅데이터/SQL/자바/스프링/안드로이드/닷…오라클자바…12-272520
 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육…오라클자바…12-111849
53 [평일100%환급7건]Spring,자바&JSP,안드로이드,웹퍼블리싱,C#닷… 오라클자바…03-151657
52 [주말]C#,ASP.NET마스터 오라클자바…01-311746
51 [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… 오라클자바…01-312516
50 [평일주간야간,주말]C기본&자료구조,알고리즘 오라클자바…01-311391
49 [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정-… 오라클자바…01-191691
48 [평일야간,주말]안드로이드개발자과정(Android기초실무) 오라클자바…01-111579
47 [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… 오라클자바…01-032094
46 [100%환급,개발자전문]빅데이터/SQL/자바/스프링/안드로이드/닷… 오라클자바…12-272520
45 [평일주간]NoSQL,MongoDB,빅데이터기초과정 오라클자바…12-191808
44 [평일주간야간, 주말]웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX… 오라클자바…12-141791
43 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… 오라클자바…12-111849
42 [평일주간]빅데이터하둡기초과정(BigData Hadoop) 오라클자바…12-091451
41 [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 오라클자바…12-011674
40 [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… 오라클자바…12-011849
39 [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) 오라클자바…12-011320

댓글 없음:

댓글 쓰기