Multi Process Building

MS Build
  1. 개요
    Managed Code 를 사용하는 (C#, VB .NET) 경우 Visual Studio 2008 은 MSBuild 를 사용합니다.
    (C++ Projcet 및 Solution File (.sln) 역시 MS Build 를 사용하여 Build 할 수 있습니다. – MSBuild 3.5)
    IDE(Integrated Development Environment) 기반의 Build 가 아닌 명령어 Line 에서 Build 하실 수 있습니다.
    MSBuild 는 UNIX 및 BSD 계열의 Make 와 유사한 기능을 가지고 있다고 생각하시면 됩니다.


  2. MSBuild 3.5
    Visual Studio 2008 은 MSBuild 3.5 를 사용합니다. 기존의 MSBuild 2.0 과 다른 점은 다음과 같습니다.
    • Project to Project Reference
      프로젝트와 프로젝트간의 참조가 발생했을 때(동일한 참조가 있을 경우), 참조가 한 번만 빌드가 됩니다.
    • Cycle Detection
      다른 시간이나 빌드에서 주기 감지를 보고 할 수 있습니다.
    • Error and Exceptions During Parallel Builds
      병렬 빌드 중에 Error 나 Exception 이 발생하였을 경우, 오류가 발생하지 않은 다른 프로젝트는 계속해서 빌드를 수행합니다.
    • Multi-Process Execution
      Core2Duo 또는 Core2Quad 와 같은 Intel CPU 의 Multiple CPU 병렬 빌드를 제공합니다. (물론 다중 CPU도 지원합니다.)

  3. How to use Multi-Process Build
    /maxcpucount switch 를 사용하며, Microsoft.common.targets file 에 BuildInParallel task parameter 를 사용해야 합니다.

    Microsoft.common.targets file 은 다음과 같이 C:\Windows\Microsoft.NET\Framework\v3.5 에 위치하고 있으며, 다음과 같습니다.

C++ 의 경우 Project Property 의 Command Line 에 다음과 같이 /MP Option 을 추가해 주셔야 합니다.
참고 : http://msdn.microsoft.com/en-us/library/wea2sca5.aspx

by kikiwaka | 2008/07/22 22:12 | MS] VS 2005 & 2008 | 트랙백 | 덧글(0)

International Projects in Visual Studio (Visual Studio Language)

Visual Studio 언어별 Edition 은 OS Language 에 종속적입니다. English Edition을 제외하고 일반적으로 Windows 의 Locale 로 지정된 언어에 맞게 설치되어야 합니다.
단, Visual Studio English Edition은 Locale 언어와 상관없이 모든 OS에 설치가 가능합니다.
(Vista 및 Windows Server 2008 은 MUI Lang Pack 을 제공하기 때문에, OS 의 Language 는 크게 중요하지 않습니다.)

아래와 같이 System Locale 이 Korean 으로 지정하게 되면, Code Page 는 949입니다.
Code Page가 949이기 때문에, 영문 OS에서도 Visual Studio Korean Edition 가 동작 하는데 문제가 되지 않습니다. (Unicode 가 아닌 MBCS 인 경우 한글 처리가 되기 때문입니다.)

  • Visual C++ : ANSI 또는 MBCS 파일 형식만을 지원합니다. 따라서, 프로젝트 또는 파일 이름에 ANI 또는 MBCS 만을 사용해야 합니다.
  • Visual Source Safe : VSS 6.0 는 Unicode 및 UTF-8을 지원하지 않습니다. 따라서 Unicode 및 UTF-8 파일 형식은 Binary File 로 Check In 하여야 합니다. VSS 2005 는 Unicode 및 UTF-8 을 지원합니다.
  • Web Application Project : Unicode 로 Project Name을 저장할 수 있습니다. 프로젝트IIS 5.0 이전 버전인 경우 IIS 의 Code Page 안에 포함되어 있어야 합니다.
  • Deployment Project : MSI 를 사용하는 Setup Project 는 Unicode file 및 Unicode Project Name을 지원하지 않습니다. 

참고 : http://msdn.microsoft.com/en-us/library/th647yhh.aspx

by kikiwaka | 2008/07/22 21:06 | MS] VS 2005 & 2008 | 트랙백 | 덧글(0)

Usage about Analyze Tool & Error Message

일반적으로 Analyze Tool 을 사용할 때는 다음과 같은 Option 과 함께 사용합니다.

Analyze 는 Repository 의 Data Folder 밑에 다음과 같이 Log File을 생성하며, 해당 Log File을 통해 Repository 에서 발생한 문제를 Fix 할 수 있습니다.
Log File 에 생성되는 Error Message 는 다음의 KB에서 확인 하실 수 있습니다.
INFO : Error Messages from Analyze Tool of Visual SourceSafe
http://support.microsoft.com/kb/152807

만일, KB에서 해당 Message를 찾지 못할 경우, Microsoft 기술 지원 서비스를 받아야 합니다.

by kikiwaka | 2008/07/01 20:57 | MS] TFS & VSS | 트랙백 | 덧글(0)

How Visual SourceSafe stores files and projects

Visual SourceSafe 는 Project 및 File을 생성 시 두 개의 File을 생성합니다.

해당 File 들은 Server 의 Repository 를 보면 Data Folder 가 있는데, 이 Data Folder의 SubFolder에 생성합니다. Subfolder는 a 부터 z 까지 Folder 로 이루어져 있으며, 이 Folder 들은 physical file 의 Initial 과 같습니다.

첫 번째 File 은 Log File 입니다. 이 File은 Extension(확장자) 이 없으며, Visual SourceSafe 의 정보 및 임의의 Version 과 임의의 Version의 다음 Version과의 차이점을 담고 있습니다.

두 번째 File 은 Data File 또는 Tip File 입니다. 이 File의 Extension 은 .a 또는 .b 입니다. 이 File 은 가장 최근의 File 및 Project의 정보를 담고 있습니다.

by kikiwaka | 2008/07/01 20:53 | MS] TFS & VSS | 트랙백 | 덧글(0)

VS C++ Tools] DUMPBIN

C++ 로 개발된 Application 의 Target Machine 을 확인 할 때, 어떻게 확인해야 할까요?
C++ Build Tools 로 포함된 DUMPBIN Reference 가 유용하게 쓰일 수 있습니다.
DUMPBIN 은 COFF(Common Object File Format) binary file 의 정보를 보여줍니다.
DUMPBIN 은 COFF object file, COFF objects 의 standard libraries, executable files, dynamic-link libraries 들을 확인 할 수 있습니다.
DUMPBIN Usage 는 다음과 같습니다.

DUMPBIN /HEADERS [File name] 을 사용하면, 해당 ApplicationTarget Machine 을 확인 할 수 있습니다.


참고 : http://msdn.microsoft.com/en-us/library/c1h23y6c.aspx

by kikiwaka | 2008/06/20 18:10 | MS] Tools | 트랙백 | 덧글(0)

◀ 이전 페이지다음 페이지 ▶