고급 속성 페이지

고급 속성 페이지는 Visual Studio 2019 이상에서 사용할 수 있습니다. 해당 버전에 대한 설명서를 보려면 이 문서의 Visual Studio 버전 선택기 컨트롤을 Visual Studio 2019 이상으로 설정합니다. 이 페이지의 목차 맨 위에 있습니다. 이전 버전의 Visual Studio에서는 이러한 속성이 일반 속성 페이지에 표시됩니다.

고급 속성 페이지는 Visual Studio 2019 이상에서 사용할 수 있습니다. 표시되는 특정 속성은 프로젝트 형식에 따라 달라집니다. Windows 런타임(유니버설 Windows 플랫폼 또는 UWP) 프로젝트는 이 페이지를 표시하지 않습니다.

고급 속성

대상 파일 확장명

빌드 출력에 사용할 파일 확장자를 지정합니다. 기본값은 .exe 애플리케이션, .lib 정적 라이브러리 및 .dll DLL의 경우입니다.

정리할 때 삭제할 확장명

새로 만들기> 메뉴 명령은 프로젝트의 구성이 빌드된 중간 디렉터리에서 파일을 삭제합니다. Clean 명령을 실행 하거나 다시 빌드할 때 빌드 시스템에서 지정된 확장명이 있는 파일을 삭제합니다. 또한 빌드 시스템은 어디에 있든 빌드의 알려진 출력을 삭제합니다. 삭제된 파일에는 파일과 같은 .obj 중간 출력이 포함됩니다. 세미콜론(;)을 사용하여 확장을 구분합니다. 확장에서 wild카드 문자(*, ?)를 지정할 수 있습니다.

프로그래밍 방식으로 이 속성에 액세스하려면 DeleteExtensionsOnClean을 참조하세요.

빌드 로그 파일

프로젝트를 빌드할 때마다 생성되는 로그 파일의 기본 위치가 아닌 위치를 지정할 수 있습니다. 기본 위치는 매크로에 의해 지정됩니다 $(IntDir)$(MSBuildProjectName).log.

프로젝트 매크로를 사용하여 디렉터리 위치를 변경할 수 있습니다. 자세한 내용은 빌드 명령 및 속성에 대한 일반적인 매크로를 참조 하세요.

기본 빌드 도구 아키텍처

x86 또는 x64 빌드 도구를 사용할지 여부를 지정합니다.

디버그 라이브러리 사용

디버그 또는 릴리스 빌드를 만들지 여부를 지정합니다. 이름 에도 불구하고 디버그 라이브러리 사용은 "디버그 빌드 만들기" 또는 "릴리스 빌드 만들기"의 약식인 빌드 시스템별 속성입니다. 라이브러리 설정을 포함하여 디버그 또는 릴리스 빌드에 대한 여러 컴파일러 및 링커 속성을 설정합니다. 이를 사용하여 새 플랫폼 또는 새 템플릿에 대한 디버그 또는 릴리스 구성을 만들 수 있습니다. 기존 구성에서는 이 속성을 변경하지 않는 것이 좋습니다. 대신 개별 컴파일러 및 링커 속성을 사용합니다.

Unity(JUMBO) 빌드 사용

컴파일하기 전에 여러 C++ 원본 파일을 하나 이상의 파일로 결합하는 더 빠른 빌드 프로세스를 사용하도록 설정합니다. 이러한 결합된 파일을 Unity 파일이라고 합니다. Unity 게임 엔진과 관련이 없습니다.

OutDir에 콘텐츠 복사

프로젝트의 콘텐츠표시된 항목을 프로젝트의 출력 디렉터리($(OutDir))에 복사합니다. 이 설정은 배포를 간소화할 수 있습니다. 이 속성은 Visual Studio 2019 버전 16.7부터 사용할 수 있습니다.

OutDir에 프로젝트 참조 복사

실행 파일(DLL 및 EXE 파일) 프로젝트 참조 항목을 프로젝트의 출력 디렉터리($(OutDir))에 복사합니다. C++/CLI(/clr) 프로젝트에서는 이 속성이 무시됩니다. 대신 각 프로젝트 참조의 로컬 복사 속성은 출력 디렉터리에 복사되는지 여부를 제어합니다. 이 설정은 로컬 배포를 간소화할 수 있습니다. Visual Studio 2019 버전 16.7부터 사용할 수 있습니다.

프로젝트 참조의 기호를 OutDir에 복사

프로젝트 참조 실행 항목과 함께 프로젝트 참조 항목에 대한 PDB 파일을 프로젝트의 출력 디렉터리($(OutDir))에 복사합니다. 이 속성은 항상 C++/CLI 프로젝트에 사용할 수 있습니다. 이 설정은 디버그 배포를 간소화할 수 있습니다. Visual Studio 2019 버전 16.7부터 사용할 수 있습니다.

OutDir에 C++ 런타임 복사

런타임 DLL을 프로젝트의 출력 디렉터리($(OutDir))에 복사합니다. 이 설정은 로컬 배포를 간소화할 수 있습니다. Visual Studio 2019 버전 16.7부터 사용할 수 있습니다.

MFC 사용

MFC 프로젝트가 정적으로 또는 동적으로 MFC DLL에 연결되는지 여부를 지정합니다. MFC가 아닌 프로젝트는 표준 Windows 라이브러리 사용을 선택합니다.

프로그래밍 방식으로 이 속성에 액세스하려면 useOfMfc을 참조하세요.

문자 집합

전처리기 매크로를 _UNICODE_MBCS 설정할지 여부를 지정합니다. 적절한 경우 링커 진입점에도 영향을 줍니다.

프로그래밍 방식으로 이 속성에 액세스하려면 CharacterSet을 참조하세요.

전체 프로그램 최적화

컴파일러 옵션 및 /LTCG 링커 옵션을 지정 /GL 합니다. 기본적으로 이 속성은 디버그 구성에 사용할 수 없으며 릴리스 구성에 대해 사용하도록 설정됩니다.

MSVC 도구 집합 버전

프로젝트를 빌드하는 데 사용되는 MSVC 도구 집합의 전체 버전을 지정합니다. 다양한 업데이트 및 미리 보기 버전의 도구 집합이 설치되어 있을 수 있습니다. 여기에서 사용할 항목을 지정할 수 있습니다.

LLVM 도구 집합 버전

프로젝트를 빌드하는 데 사용되는 LLVM 도구 집합의 전체 버전을 지정합니다. 이 속성은 VISUAL Studio 2019 버전 16.9부터 LLVM(clang-cl)이 플랫폼 도구 집합으로 선택된 경우에 사용할 수 있습니다. 자세한 내용은 사용자 지정 LLVM 도구 집합 버전 설정을 참조하세요.

MSVC 구조적 출력 사용

Visual Studio의 출력 창에서 문제 세부 정보 및 계층적 출력을 사용하도록 설정하는 구조적 SARIF 출력을사용할지 여부를 지정합니다.

C++/CLI 속성

공용 언어 런타임 지원

/clr 컴파일러 옵션을 사용하도록 합니다.

프로그래밍 방식으로 이 속성에 액세스하려면 ManagedExtensions을 참조하세요.

.NET 대상 프레임워크 버전

이 속성은 공용 언어 런타임 지원 속성이 .NET Framework 런타임 지원으로 설정된 경우에만 적용됩니다. 즉, 프로젝트가 .NET Framework를 대상으로 하며 .NET Framework의 버전을 지정합니다.

.NET 대상 프레임워크

이 속성은 공용 언어 런타임 지원 속성이 .NET 런타임 지원으로 설정된 경우에만 적용됩니다. 즉, 프로젝트가 .NET을 대상으로 합니다.

이 속성은 이 프로젝트가 대상으로 하는 .NET 5+ 대상 프레임워크 모니커(예 net6.0-windows : 또는 net7.0-windows8.0.)를 지정합니다.

관리 증분 빌드 사용

관리되는 프로젝트의 경우 이 옵션을 사용하면 어셈블리를 생성할 때 외부 가시성을 검색할 수 있습니다. 관리되는 프로젝트의 변경 내용이 다른 프로젝트에 표시되지 않으면 종속 프로젝트가 다시 빌드되지 않습니다. 관리되는 증분 빌드는 관리되는 프로젝트를 포함하는 솔루션에서 빌드 시간을 크게 향상시킬 수 있습니다.

개별 파일에 대한 CLR 지원 사용

이 옵션은 프로젝트의 일부 파일만 관리 코드로 빌드할 수 있는 빌드 속성을 설정합니다 ManagedAssembly . 일부 프로젝트 파일이 관리 코드로 빌드되지 않은 경우 개별 파일에대한 CLR 지원 사용을 예로 설정해야 합니다. 이 속성은 Visual Studio 2022 이상 버전의 v143 이상 도구 집합을 사용하는 프로젝트에서만 사용할 수 있습니다.

.NET 대상 Windows 버전

이 속성은 공용 언어 런타임 지원 속성이 .NET 런타임 지원으로 설정된 경우에만 적용됩니다. 즉, 프로젝트가 .NET을 대상으로 합니다.

이 속성은 프로젝트에서 지원하는 최소 Windows 버전을 지정합니다. 이 값은 NuGet에서 프로젝트 및 NuGet 패키지 종속성의 호환성을 결정하는 데 사용됩니다. 프로젝트 A가 프로젝트 B에 의존하는 경우 프로젝트 A의 .NET 대상 Windows 버전은 프로젝트 B와 크거나 같아야 합니다.