현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

Visual C++에서 각 빌드 후 증분 버전 정보 방법

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

237870
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
요약
Visual C++ 프로젝트의 버전 리소스 정보를 각 빌드 후에 자동으로 증가시키려면 기능은 없습니다. 이 문서에서는 이러한 기능을 제공하는 방법을 설명합니다.
추가 정보
여기에 설명된 단계를 사용하는 대신 리소스 컴파일러 (.rc) 파일 수정 프로그램을 작성할 수 있습니다. 그러나, RC 파일을 Visual C++ 컨트롤 하에 있습니다. Visual C++ RC 파일을 저장, 동안 수정하고 버전 리소스에 영향을 줄 수 있습니다. 이 섹션에서 설명한 방법은 모든 Visual C++ 프로젝트에 적용할 수 있습니다. 이 예제에서는 MFC 프로젝트를 사용합니다.

MFC (EXE) Appwizard 사용하여 새 프로젝트를 만들고 MyProject 호출하십시오. MyProject은 MyProject.rc2 포함하는 MyProject.rc 파일이 있습니다. 따라서 .rc2 파일은 사용자 정의 리소스는 보여줍니다. 각 빌드 후에 MyProject의 버전 정보를 증가시키려면 다음과 같이 하십시오.
  1. .rc 파일에서 버전 리소스 제거하고 .rc2 파일을 배치하십시오.

    1. MyProject.rc 및 MyProject.rc2 해상도 폴더를 찾을 텍스트 편집기에서 엽니다. Visual C++ 편집기를 사용하려면 파일 메뉴에서 열기 를 및 MyProject.rc 파일 열기 형식 목록에서 텍스트 를 선택하십시오.
    2. 버전 MyProject.rc 있는 리소스 문을 찾습니다. 다음과 같은 표시되어야 합니다:
      /////////////////////////////////////////////////////////////////////// // // Version// VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL#ifdef _DEBUG FILEFLAGS 0x1L#else FILEFLAGS 0x0L#endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0LBEGIN    BLOCK "StringFileInfo"    BEGIN        BLOCK "040904b0"        BEGIN            VALUE "Comments", "Sample Application\0"            VALUE "CompanyName", "Microsoft Corp.\0"            VALUE "FileDescription", "MyProject MFC Application\0"            VALUE "FileVersion", "1, 0, 0, 1\0"            VALUE "InternalName", "MyProject\0"            VALUE "LegalCopyright", "Copyright (C) 1999\0"            VALUE "OriginalFilename", "MyProject.EXE\0"            VALUE "ProductName", "MyProject Application\0"            VALUE "ProductVersion", "1, 0, 0, 1\0"        END    END    BLOCK "VarFileInfo"    BEGIN        VALUE "Translation", 0x409, 1200    ENDEND							
    3. 버전 리소스 MyProject.rc 파일에서 잘라내어 이를 MyProject.rc2 파일에 주석 아래 "추가 수동으로 리소스를 여기에 편집할." 각 자원 필드 중 의미에 대한 자세한 내용은 도움말에서 VERSIONINFO 리소스 문을 참조하십시오.
  2. FILEVERSION 및 PRODUCTVERSION 데이터를 FILEVER 및 PRODUCTVER 매크로를 대체하십시오. 마찬가지로, FileVersion 및 ProductVersion 문자열 데이터를 STRFILEVER 및 STRPRODUCTVER 매크로를 대체하십시오.
  3. 추가 # VersionNo.h VS_VERSION_INFO 리소스 문 바로 앞에 포함됩니다. 버전 리소스의 모양을 이제 다음과 같이:
    /////////////////////////////////////////////////////////////////////// // // Version// #include "VersionNo.h"VS_VERSION_INFO VERSIONINFO FILEVERSION FILEVER PRODUCTVERSION PRODUCTVER FILEFLAGSMASK 0x3fL#ifdef _DEBUG FILEFLAGS 0x1L#else FILEFLAGS 0x0L#endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0LBEGIN    BLOCK "StringFileInfo"    BEGIN        BLOCK "040904b0"        BEGIN            VALUE "Comments", "Sample Application\0"            VALUE "CompanyName", "Microsoft Corp.\0"            VALUE "FileDescription", "MyProject MFC Application\0"            VALUE "FileVersion", STRFILEVER            VALUE "InternalName", "MyProject\0"            VALUE "LegalCopyright", "Copyright (C) 1997\0"            VALUE "OriginalFilename", "MyProject.EXE\0"            VALUE "ProductName", "MyProject Application\0"            VALUE "ProductVersion", STRPRODUCTVER        END    END    BLOCK "VarFileInfo"    BEGIN        VALUE "Translation", 0x409, 1200    ENDEND					
  4. 프로젝트에 같은 디렉터리에 VersionNo.h 라는 헤더 파일을 만듭니다. 이 파일은 2단계에서 사용할 매크로 정의는 다음 문을 포함합니다:
    #define FILEVER        1,0,0,1#define PRODUCTVER     1,0,0,1#define STRFILEVER     "1, 0, 0, 1\0"#define STRPRODUCTVER  "1, 0, 0, 1\0"						
    참고: 마지막 줄에 줄 바꿈 및 캐리지 문자가 반환할 추가.

    이제, MyProject.rc2, MyProject.rc 파일을 포함하는 및 VersionNo.h MyProject.rc2 파일이 포함됩니다.
  5. 매크로나 Visual Basic 스크립트를 사용하여 VersionNo.h 파일 내용은 수정됩니다. 매크로 아래에 핸들 Visual C++ BuildFinish 이벤트가 설명된 빌드가 완료될 때까지 그 발생 수 없습니다. VB 스크립트 코드를 호출할 때마다 고정된 양만큼 먼저 헤더 파일의 내부 버전 번호를 증가시키는 다음 파일을 저장하고 닫습니다. 후속 빌드하는 동안 실행 파일에 새 버전 번호가 포함되어 있습니다.

    설치 및 VB 스크립트 코드를 사용하여 다음과 같이 하십시오.

    1. 기존 DSM (매크로) 파일을 열거나 Visual C++에서 DSM 파일을 새로 만듭니다. 새 파일을 만들려면 파일 메뉴에서 새로 만들기 를, 매크로 파일파일 탭에서 이름을 지정한 선택하고 확인 을 클릭하십시오.
    2. 아래의 다음 VB 스크립트 코드를 붙여 넣습니다 (Visual C++에서 빈 DSM 파일을 설치할 수 없습니다; 설치 다음 단계는 설명합니다):
      Function GetProjectDir(FullName)'VC++ doesn't provide any method for getting the path of the active project'See the VB Script reference for more information on the VB Script functions 'used in this functionDim proj_pathproj_path = Split(StrReverse(FullName),"\",-1,1)Dim countcount = UBound(proj_path)Dim full_pathfull_path = ""Dim ifor i = 1 to count 	full_path = full_path & "\" & proj_path(i)nextGetProjectDir = StrReverse(full_path)End FunctionSub ReplaceText(selection, count, incrementby)'selection represents the TextSelection object'count represents the position of the version number to be incremented'incrementby represents a number that will be added to the existing version numberselection.WordRight dsMove, countselection.WordRight dsExtend, 1Dim strstr = selection.Textstr = str + incrementbyselection.Text = strEnd SubSub Application_BuildFinish(numError, numWarning)'This event will be triggered after every build of a project'You can check numError and/or numWarning to determine if you want to continue'If numError <> 0 Then    'exit sub'Obtain the full path of the active projectDim full_pathfull_path = GetProjectDir(ActiveProject.FullName)full_path = full_path & "versionno.h"'Open the VersionNo.h fileDocuments.Open full_path'Obtain the TextSelection objectDim selectionset selection = ActiveDocument.Selectionselection.StartOfDocument 'Increment the version informationReplaceText selection, 9, 1selection.LineDownselection.StartOfLineReplaceText selection, 9, 1selection.LineDownselection.StartOfLineReplaceText selection, 10, 1selection.LineDownselection.StartOfLineReplaceText selection, 10, 1ActiveDocument.SaveActiveDocument.Close End Sub								
      참고: 이 코드는 지원되지 않는 샘플입니다. 빌드 시나리오에 대해 수정할 수 있습니다.
    3. 이미 설치되어 있지 않으면 DSM 파일을 설치하십시오. 설치하려면 [도구] 메뉴에서 [사용자 지정 을 클릭하여 추가 및 매크로 파일 탭을 클릭합니다 DSM 파일을 선택하려면 찾아보기 및 닫기 를 클릭하십시오.
  6. 빌드 메뉴에서 빌드 MyProject.exe 선택하십시오. 빌드 완료 후에 VersionNo.h 파일을 엽니다. 다음 문이 포함될 수 있습니다:
    #define FILEVER        1,0,0,2#define PRODUCTVER     1,0,0,2#define STRFILEVER     "1, 0, 0, 2\0"#define STRPRODUCTVER  "1, 0, 0, 2\0"						
    실행 파일에 포함된 다시 코드를 이 버전 정보는 빌드 및 버전 정보를 증가합니다. 일부 코드에서 빌드 오류가 생성되는 경우 증분 버전 번호를 않도록 앞에서 설명한 매크로 도입할 수 있습니다.
참조
Visual C++ 개체 모델에 대한 자세한 내용은 MSDN 라이브러리에서 다음 항목을 참조하십시오.
VB 스크립트 매크로에 대한 자세한 내용은 MSDN 라이브러리에서 다음 항목을 참조하십시오.
VB 스크립트 언어에 대한 자세한 내용은 MSDN 라이브러리에서 다음 항목을 참조하십시오.
Visual C++ VERSIONINFO 리소스 문에 대한 자세한 내용은 MSDN 라이브러리에서 다음 항목을 참조하십시오.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 237870 - 마지막 검토: 12/05/2015 15:18:14 - 수정: 3.2

Microsoft Visual C++ 5.0 Enterprise Edition, Microsoft Visual C++ 6.0 Enterprise Edition, Microsoft Visual C++ 5.0 Professional Edition, Microsoft Visual C++ 6.0 Professional Edition, Microsoft Visual C++, 32-bit Learning Edition 6.0

  • kbnosurvey kbarchive kbmt kbautomation kbdevstudio kbhowto kbide kbscript kbvcobj KB237870 KbMtko
피드백