일반적인 MSBuild 프로젝트 속성

다음 표에서는 Visual Studio 프로젝트 파일에 정의되거나 MSBuild가 제공하는 .targets 파일에 포함된 자주 사용하는 속성을 보여 줍니다.

Visual Studio의 프로젝트 파일( .csproj, .vbproj, .vcxproj 등)은 IDE를 사용하여 프로젝트를 빌드할 때 실행하는 MSBuild XML 코드를 포함합니다. 일반적으로 프로젝트에서는 하나 이상의 .targets 파일을 가져와서 빌드 프로세스를 정의합니다. 자세한 내용은 MSBuild .targets 파일을 참조하세요.

속성 값을 설정할 때는 여러 가져온 파일에서 공통 속성을 설정, 다시 설정 또는 사용할 수 있습니다. 따라서 프로젝트 파일, Directory.Build.props 또는 가져온 다른 파일에서 속성을 설정하는 위치가 중요합니다. 속성을 어딘가에 설정하고 예상 결과를 얻지 못하는 경우 특성을 사용할 Sdk 때 암시적으로 추가되는 가져오기를 포함하여 프로젝트에서 가져온 모든 파일에서 속성이 변경되거나 사용되는 위치와 방법을 고려합니다. .props 또는 .targets 파일에 속성 추가 중에서 선택 항목을 참조 하세요. 전처리가 도움이 될 수 있습니다(MSBuild 명령줄 참조/preprocess명령줄 옵션 참조/pp).

공용 속성 및 매개 변수 목록

속성 또는 매개 변수 이름 프로젝트 형식 설명
AdditionalLibPaths .NET 컴파일러에서 참조 어셈블리를 조회해야 하는 추가 폴더를 지정합니다.
AddModules .NET 컴파일러가 컴파일하는 프로젝트에서 지정된 파일의 모든 형식 정보를 사용할 수 있도록 합니다. 이 속성은 /addModules 컴파일러 스위치와 동일합니다.
ALToolPath .NET AL.exe 경로입니다. 이 속성은 다른 버전의 AL.exe를 사용으로 설정하기 위해 현재 버전을 재정의합니다.
ApplicationIcon .NET Win32 아이콘으로 포함하기 위해 컴파일러에 전달할 .ico 아이콘 파일입니다. 이 속성은 /win32icon 컴파일러 스위치와 동일합니다.
ApplicationManifest 모두 외부 UAC(사용자 계정 컨트롤) 매니페스트 정보를 생성하는 데 사용되는 파일의 경로를 지정합니다. Windows Vista를 대상으로 하는 Visual Studio 프로젝트에만 적용됩니다.

대부분의 경우 매니페스트는 포함되어 있지만 등록이 필요 없는 COM 또는 ClickOnce 배포를 사용할 경우 매니페스트가 애플리케이션 어셈블리와 함께 설치되는 외부 파일일 수 있습니다. 자세한 내용은 이 문서의 NoWin32Manifest 속성을 참조하세요.
AssemblyOriginatorKeyFile .NET 어셈블리에 서명하는 데 사용되는 파일(.snk 또는 .pfx)을 지정하고 어셈블리 서명에 사용되는 실제 키를 생성하기 위해 ResolveKeySource 작업에 전달됩니다.
AssemblySearchPaths .NET 빌드 시간 참조 어셈블리 확인 동안 검색할 위치의 목록입니다. 이전에 나열된 경로가 이후 항목보다 우선하기 때문에 이 목록에 경로가 표시되는 순서는 의미가 있습니다.
AssemblyName .NET 프로젝트가 빌드된 후의 마지막 출력 어셈블리 이름입니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
BaseAddress .NET 주 출력 어셈블리의 기준 주소를 지정합니다. 이 속성은 /baseaddress 컴파일러 스위치와 동일합니다.
BaseIntermediateOutputPath 모두 모든 구성 관련 중간 출력 폴더가 만들어지는 최상위 폴더입니다. 기본값은 obj\입니다. 코드 예: <BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath>
BaseOutputPath 모두 출력 파일의 기본 경로를 지정합니다. 설정된 경우 MSBuild는 .를 사용합니다 OutputPath = $(BaseOutputPath)\$(Configuration)\. 구문 예: <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>
BuildInParallel 모두 Multi-Proc MSBuild가 사용될 때 프로젝트 참조를 병렬로 빌드 또는 정리할지 여부를 나타내는 부울 값입니다. 기본값은 true이며, 시스템에 다중 코어 또는 프로세서가 있을 경우 프로젝트가 병렬로 빌드됨을 나타냅니다.
BuildProjectReferences 모두 MSBuild에서 프로젝트 참조를 빌드할지 여부를 나타내는 부울 값입니다. 그렇지 않은 경우 Visual Studio IDE(통합 개발 환경) true 에서 프로젝트를 빌드하는 경우 자동으로 설정 false 됩니다. 참조된 프로젝트가 최신 상태인지 확인할 필요가 없도록 명령줄에 -p:BuildProjectReferences=false를 지정할 수 있습니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
CleanFile 모두 “정리 캐시”로 사용할 파일의 이름입니다. 정리 캐시는 정리 작업 중에 삭제할 생성된 파일 목록입니다. 이 파일은 빌드 프로세스에 의해 중간 출력 경로에 저장됩니다.

이 속성은 경로 정보가 없는 파일 이름만 지정합니다.
CodePage .NET 컴파일할 때 모든 소스 코드 파일에 사용할 코드 페이지를 지정합니다. 이 속성은 /codepage 컴파일러 스위치와 동일합니다.
CompilerResponseFile .NET 컴파일러 작업에 전달할 수 있는 선택적 지시 파일입니다.
Configuration 모두 일반적으로 Debug 또는 Release구성하지만 솔루션 및 프로젝트 수준에서 구성할 수 있는 구성입니다.
CscToolPath C# C# 컴파일러인 csc.exe의 경로입니다.
CustomAfterMicrosoftCommonTargets 모두 공통 대상 가져오기 후에 자동으로 가져올 프로젝트 파일 또는 대상 파일의 이름입니다.
CustomBeforeMicrosoftCommonTargets 모두 공통 대상을 가져오기 전에 자동으로 가져올 프로젝트 파일 또는 대상 파일의 이름입니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
DebugSymbols 모두 빌드 시 기호의 생성 여부를 나타내는 부울 값입니다.

명령줄에서 -p:DebugSymbols=false를 설정하면 프로그램 데이터베이스( .pdb) 기호 파일이 생성되지 않습니다.
DebugType 모두 생성할 디버그 정보의 수준을 정의합니다. 유효한 값은 “full”, “pdbonly”, “portable”, “embedded” 및 “none”입니다.
DefineConstants .NET 조건부 컴파일러 상수를 정의합니다. 기호/값 쌍은 세미콜론으로 구분되며 언어 종속 구문을 사용하여 지정됩니다.

C#: symbol1; symbol2

Visual Basic: symbol1 = value1, symbol2 = value2

이 속성은 /define 컴파일러 스위치와 동일합니다.
DefineDebug 모두 DEBUG 상수를 정의할지 여부를 나타내는 부울 값입니다.
DefineTrace 모두 TRACE 상수를 정의할지 여부를 나타내는 부울 값입니다.
DelaySign .NET 어셈블리에 전체 서명하는 대신 어셈블리 서명을 연기할지 여부를 나타내는 부울 값입니다.
명확함 .NET 컴파일러가 동일한 입력에 대해 동일한 어셈블리를 생성해야 하는지를 나타내는 부울 값입니다. 이 매개 변수는 컴파일러의 /deterministic 스위치에 해당합니다.
DirectoryBuildPropsPath 모두 Directory.Build.props 파일의 경로를 지정합니다. 정의된 경우 이 속성은 기본 검색 알고리즘을 재정의합니다. 빌드 사용자 지정을 참조하세요.
DirectoryBuildTargetsPath 모두 Directory.Build.targets 파일의 경로를 지정합니다. 정의된 경우 이 속성은 기본 검색 알고리즘을 재정의합니다. 빌드 사용자 지정을 참조하세요.
DisableFastUpToDateCheck 모두 Visual Studio에만 적용되는 부울 값입니다. Visual Studio 빌드 관리자는 FastUpToDateCheck 프로세스를 사용하여 프로젝트를 최신 상태로 다시 빌드해야 하는지 여부를 확인합니다. 확인할 때 MSBuild를 사용하는 것보다 이 프로세스가 더 빠릅니다. DisableFastUpToDateCheck 속성을 true로 설정하면 Visual Studio 빌드 관리자를 사용하지 않고 대신 MSBuild를 사용하여 프로젝트가 최신 상태인지 여부를 확인할 수 있습니다.
DocumentationFile .NET XML 문서 파일로 생성된 파일의 이름입니다. 이 이름에는 파일 이름만 포함되고 경로 정보는 포함되지 않습니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
ErrorReport .NET 컴파일러 작업에서 내부 컴파일러 오류를 보고하는 방식을 지정합니다. 유효한 값은 “prompt”, “send” 또는 “none”입니다. 이 속성은 /errorreport 컴파일러 스위치와 동일합니다.
ExcludeDeploymentUrl .NET GenerateDeploymentManifest 작업에서는 프로젝트 파일에 다음 요소가 하나라도 포함된 경우 배포 매니페스트에 deploymentProvider 태그를 추가합니다.

- UpdateUrl
- InstallUrl
- PublishUrl

그러나 ExcludeDeploymentUrl을 사용하면 위의 URL이 지정되더라도 deploymentProvider 태그가 배포 매니페스트에 추가되지 않습니다. 이렇게 하려면 프로젝트 파일에 다음 속성을 추가합니다.

<ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>

참고: ExcludeDeploymentUrl은 Visual Studio IDE에 노출되지 않으며 프로젝트 파일을 수동으로 편집해야만 설정할 수 있습니다. 이 속성을 설정해도 Visual Studio 내의 게시에는 영향을 주지 않습니다. 즉, deploymentProvider 태그는 PublishUrl에서 지정한 URL에 계속 추가됩니다.
FileAlignment .NET 출력 파일의 섹션에 맞출 위치(바이트)를 지정합니다. 올바른 값은 512, 1024, 2048, 4096, 8192입니다. 이 속성은 /filealignment 컴파일러 스위치와 동일합니다.
FrameworkPathOverride Visual Basic mscorlib.dllmicrosoft.visualbasic.dll의 위치를 지정합니다. 이 매개 변수는 vbc.exe 컴파일러의 /sdkpath 스위치와 동일합니다.
GenerateDocumentation .NET 빌드 시 문서의 생성 여부를 나타내는 부울 매개 변수입니다. true이면 빌드 시 문서 정보를 생성하여 이 정보를 빌드 작업에서 만든 실행 파일이나 라이브러리의 이름과 함께 .xml 파일에 배치합니다.
GenerateFullPaths C# -fullpaths 컴파일러 옵션을 사용하여 출력의 파일 이름에 대한 전체 경로를 생성합니다.
GenerateSerializationAssemblies .NET SGen.exe에서 XML 직렬화 어셈블리를 생성할지 여부를 표시하며 on, auto 또는 off로 설정할 수 있습니다. 이 속성은 .NET Framework만을 대상으로 하는 어셈블리에 사용됩니다. .NET 표준 또는 .NET Core 어셈블리에 대한 XML 직렬화 어셈블리를 생성하려면 Microsoft.XmlSerializer.Generator NuGet 패키지를 참조하세요.
속성 또는 매개 변수 이름 프로젝트 형식 설명
ImportDirectoryBuildProps 모두 Directory.Build.props 파일을 가져올지 여부를 나타내는 부울 값입니다. 빌드 사용자 지정을 참조하세요.
ImportDirectoryBuildTargets 모두 Directory.Build.targets 파일을 가져올지 여부를 나타내는 부울 값입니다. 빌드 사용자 지정을 참조하세요.
IntermediateOutputPath 모두 경로가 지정되지 않은 경우 BaseIntermediateOutputPath에서 파생된 것과 같은 전체 중간 출력 경로입니다. 예를 들자면 obj\debug\입니다.
KeyContainerName 모두 강력한 이름 키 컨테이너의 이름입니다.
KeyOriginatorFile 모두 강력한 이름 키 파일의 이름입니다.
ModuleAssemblyName .NET 컴파일된 모듈이 통합되어야 하는 어셈블리의 이름입니다. 이 속성은 /moduleassemblyname 컴파일러 스위치와 동일합니다.
MSBuildProjectExtensionsPath 모두 프로젝트 확장명이 있는 경로를 지정합니다. 기본적으로 BaseIntermediateOutputPath와 동일한 값을 사용합니다.
MSBuildTreatWarningsAsErrors 모두 표시되지 않는 한 모든 경고를 오류로 처리하도록 MSBuild에 지시하는 부울 값입니다.
MSBuildWarningsAsErrors 모두 오류로 처리할 경고 목록을 지정합니다. 여러 경고를 세미콜론으로 구분합니다. .NET SDK 속성을 WarningsAsErrorsMSBuildWarningsAsErrors 사용하는 경우 기본적으로 값WarningsAsErrors으로 설정됩니다.
MSBuildWarningsAsMessages 모두 중요도가 낮은 메시지로 처리하여 표시하지 않을 경고 코드 목록을 지정합니다. 여러 경고를 세미콜론으로 구분합니다. MSBuild에서 내보낸 일부 경고는 이 속성을 사용하여 표시할 수 없습니다. 이를 표시하지 않으면 명령줄 스위치 -warnAsMessage를 사용합니다. .NET SDK 속성을 NoWarnMSBuildWarningsAsMessages 사용하는 경우 기본적으로 값NoWarn으로 설정됩니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
NoLogo 모두 컴파일러 로고를 해제할지 여부를 나타내는 부울 값입니다. 이 속성은 /nologo 컴파일러 스위치와 동일합니다.
NoStdLib .NET 표준 라이브러리(mscorlib.dll)를 참조하지 않을지 여부를 나타내는 부울 값입니다. 기본값은 false입니다.
NoVBRuntimeReference Visual Basic Visual Basic 런타임(Microsoft.VisualBasic.dll)이 프로젝트에 참조로 포함되어야 하는지 여부를 나타내는 부울 값입니다.
NoWarn .NET 지정한 경고를 표시하지 않습니다. 경고 식별자의 숫자 부분만 지정해야 합니다. 경고가 여러 개인 경우 세미콜론으로 구분할 수 있습니다. 이 매개 변수는 컴파일러의 /nowarn 스위치에 해당합니다.
NoWin32Manifest .NET 애플리케이션의 실행 파일에 UAC(사용자 계정 컨트롤) 매니페스트 정보를 포함할지 여부를 나타내는 부울 값입니다. Windows Vista를 대상으로 하는 Visual Studio 프로젝트에만 적용됩니다. ClickOnce 및 등록이 필요 없는 COM을 사용하여 배포된 프로젝트에서는 이 요소가 무시됩니다. False(기본값)는 애플리케이션의 실행 파일에 UAC(사용자 계정 컨트롤) 매니페스트 정보를 포함할지 여부를 지정합니다. True는 UAC 매니페스트 정보가 포함되지 않음을 지정합니다.

이 속성은 Windows Vista를 대상으로 하는 Visual Studio 프로젝트에만 적용됩니다. ClickOnce 및 등록이 필요 없는 COM을 사용하여 배포된 프로젝트에서는 이 속성이 무시됩니다.

Visual Studio에서 애플리케이션의 실행 파일에 매니페스트 정보를 포함하지 않으려는 경우에만 NoWin32Manifest를 추가해야 합니다. 이 프로세스를 가상화라고 합니다. 가상화를 사용하려면 다음과 같이 <ApplicationManifest><NoWin32Manifest>를 함께 설정합니다.

- Visual Basic 프로젝트의 경우 <ApplicationManifest> 노드를 제거합니다. (Visual Basic 프로젝트에서는 <ApplicationManifest> 노드가 있으면 <NoWin32Manifest>가 무시됩니다.)
- C# 프로젝트의 경우 <ApplicationManifest>False로, <NoWin32Manifest>True로 설정합니다. (C# 프로젝트에서는 <ApplicationManifest><NoWin32Manifest>를 재정의합니다.)
이 속성은 vbc.exe/nowin32manifest 컴파일러 스위치와 동일합니다.
Optimize .NET true로 설정하면 컴파일러 최적화를 사용으로 설정하는 부울 값입니다. 이 속성은 /optimize 컴파일러 스위치와 동일합니다.
OptionCompare VisualBasic 문자열 비교 방법을 지정합니다. 유효한 값은 “binary” 또는 “text”입니다. 이 속성은 vbc.exe/optioncompare 컴파일러 스위치와 동일합니다.
OptionExplicit Visual Basic true로 설정하면 소스 코드에서 변수를 명시적으로 선언해야 하는 부울 값입니다. 이 속성은 /optionexplicit 컴파일러 스위치와 동일합니다.
OptionInfer Visual Basic true로 설정하면 변수의 형식 유추를 사용으로 설정하는 부울 값입니다. 이 속성은 /optioninfer 컴파일러 스위치와 동일합니다.
OptionStrict Visual Basic true로 설정하면 빌드 작업에서 엄격한 형식 의미를 적용하여 암시적 형식 변환을 제한하게 하는 부울 값입니다. 이 속성은 vbc.exe 컴파일러의 /optionstrict 스위치와 동일합니다.
OutDir 모두 프로젝트 또는 솔루션의 최종 출력 위치를 나타냅니다. 솔루션을 빌드하는 경우 OutDir를 사용하여 한 위치에서 여러 프로젝트 출력을 수집할 수 있습니다. 또한 OutDir는 참조를 확인하는 데 사용되는 AssemblySearchPaths에 포함됩니다. 예를 들어 bin\Debug입니다.
OutputPath 모두 비 AnyCPU 빌드에서 프로젝트 디렉터리에 상대적인 출력 디렉터리 경로(예: bin\Debug 또는 bin\Debug\$(Platform))를 지정합니다.
OutputType 모두 출력 파일의 파일 형식을 지정합니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.

- Library. 코드 라이브러리를 만듭니다. 기본값입니다.
- Exe. 콘솔 애플리케이션을 만듭니다.
- Module. 모듈을 만듭니다.
- Winexe. Windows 기반 프로그램을 만듭니다.

C# 및 Visual Basic의 경우 이 속성은 /target 스위치와 동일합니다. 출력 형식은 추론을 통해 자동으로 재정의될 수 있습니다. WPF 및 WinForms 앱용 WinExe로 설정된 OutputType을 참조하세요. DisableWinExeOutputInferencetrue로 설정하여 추론을 비활성화합니다.
OverwriteReadOnlyFiles 모두 빌드에서 읽기 전용 파일을 덮어쓸지 아니면 오류를 트리거할지 여부를 나타내는 부울 값입니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
PathMap .NET 실제 경로를 컴파일러에서 출력되는 소스 경로 이름에 매핑하는 방법을 지정합니다. 이 속성은 컴파일러의 /pathmap 스위치와 동일합니다.
PdbFile .NET 내보내는 .pdb 파일의 파일 이름입니다. 이 속성은 csc.exe 컴파일러의 /pdb 스위치와 동일합니다.
플랫폼 모두 빌드 중인 운영 체제입니다. .NET Framework 빌드에 대한 예제는 "Any CPU", "x86" 및 "x64"입니다.
ProcessorArchitecture .NET 어셈블리 참조를 확인할 때 사용되는 프로세서 아키텍처입니다. 유효한 값은 "msil", "x86", "amd64" 또는 "ia64"입니다.
ProduceOnlyReferenceAssembly .NET 컴파일러에 컴파일된 코드가 아닌 참조 어셈블리만 내보내도록 지시하는 부울 값입니다. 와 함께 ProduceReferenceAssembly사용할 수 없습니다. 이 속성은 vbc.execsc.exe 컴파일러의 /refonly 스위치에 해당합니다.
ProduceReferenceAssembly .NET 부울 값으로, true로 설정하면 현재 어셈블리에 대한 참조 어셈블리를 생성합니다. 이 기능을 사용할 경우 Deterministictrue여야 합니다. 이 속성은 vbc.execsc.exe 컴파일러의 /refout 스위치에 해당합니다.
RegisterAssemblyMSBuildArchitecture Windows만 관리되는 DLL이 등록된 기본 아키텍처를 지정합니다. COM은 Windows 레지스트리를 사용하여 아키텍처별 하이브에 등록을 저장하기 때문에 이 속성이 유용합니다. 예를 들어 Windows 시스템에서 AnyCPU 관리 어셈블리는 64비트 하이브 및/또는 32비트(WoW) 하이브에 해당 형식을 등록할 수 있으며 빌드는 이 속성을 사용하여 사용할 아키텍처별 레지스트리 하이브를 결정합니다. 유효한 값에는 "x86", "x64" 및 "ARM64"가 포함됩니다.
RegisterForCOMInterop Windows만 관리되는 애플리케이션이 COM 개체(COM 호출 가능 래퍼)를 노출한다는 것을 나타냅니다. 빌드 페이지 - 출력 섹션을 참조하세요. 이 설정은 프로젝트를 빌드하는 컴퓨터에만 영향을 줍니다. 다른 컴퓨터에 배포하는 경우 regasm.exe 호출하여 대상 컴퓨터에 어셈블리를 등록합니다.
RemoveIntegerChecks Visual Basic 정수 오버플로 오류 검사를 비활성화할지 여부를 나타내는 부울 값입니다. 기본값은 false입니다. 이 속성은 vbc.exe 컴파일러의 /removeintchecks 스위치와 동일합니다.
RootNamespace 모두 포함 리소스의 이름을 지정할 때 사용할 루트 네임스페이스입니다. 이 네임스페이스는 포함 리소스 매니페스트 이름의 일부입니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
Satellite_AlgorithmId .NET 위성 어셈블리를 만들 때 사용할 AL.exe 해시 알고리즘의 ID입니다.
Satellite_BaseAddress .NET CreateSatelliteAssemblies 대상을 사용하여 문화권별 위성 어셈블리를 빌드할 때 사용할 기준 주소입니다.
Satellite_CompanyName .NET 위성 어셈블리 생성 시 AL.exe에 전달할 회사 이름입니다.
Satellite_Configuration .NET 위성 어셈블리 생성 시 AL.exe에 전달할 구성 이름입니다.
Satellite_Description .NET 위성 어셈블리 생성 시 AL.exe에 전달할 설명 텍스트입니다.
Satellite_EvidenceFile .NET 리소스 이름이 "Security.Evidence"인 위성 어셈블리에 지정된 파일을 포함합니다.
Satellite_FileVersion .NET 위성 어셈블리의 File Version 필드에 대한 문자열을 지정합니다.
Satellite_Flags .NET 위성 어셈블리의 Flags 필드에 대한 값을 지정합니다.
Satellite_GenerateFullPaths .NET 빌드 작업에서 오류 메시지에 보고되는 모든 파일에 절대 경로를 사용하도록 합니다.
Satellite_LinkResource .NET 지정한 리소스 파일을 위성 어셈블리에 링크합니다.
Satellite_MainEntryPoint .NET 위성 어셈블리 생성 시 모듈이 실행 파일로 변환될 때 진입점으로 사용할 메서드의 정규화된 이름(즉, class.method)을 지정합니다.
Satellite_ProductName .NET 위성 어셈블리의 Product 필드에 대한 문자열을 지정합니다.
Satellite_ProductVersion .NET 위성 어셈블리의 ProductVersion 필드에 대한 문자열을 지정합니다.
Satellite_TargetType .NET 위성 어셈블리 출력 파일의 파일 형식을 “library”, “exe” 또는 “win”으로 지정합니다. 기본값은 “library”입니다.
Satellite_Title .NET 위성 어셈블리의 Title 필드에 대한 문자열을 지정합니다.
Satellite_Trademark .NET 위성 어셈블리의 Trademark 필드에 대한 문자열을 지정합니다.
Satellite_Version .NET 위성 어셈블리의 버전 정보를 지정합니다.
Satellite_Win32Icon .NET 위성 어셈블리에 .ico 아이콘 파일을 삽입합니다.
Satellite_Win32Resource .NET 위성 어셈블리에 Win32 리소스( .res 파일)를 삽입합니다.
SGenToolPath .NET 현재 버전의 SGen.exe를 재정의할 때 SGen.exe를 구할 수 있는 위치를 나타내는 선택적 도구 경로입니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
SGenUseProxyTypes .NET SGen.exe에서 프록시 형식을 생성해야 하는지 여부를 나타내는 부울 값입니다. 이는 GenerateSerializationAssemblies가 On으로 설정된 경우에만 적용됩니다.

SGen 대상은 이 속성을 사용하여 UseProxyTypes 플래그를 설정합니다. 이 속성은 기본적으로 true로 설정되며 이를 변경할 UI가 없습니다. 웹 서비스가 아닌 형식에 대해 serialization 어셈블리를 생성하려면 이 속성을 프로젝트 파일에 추가하고 Microsoft.Common.Targets 또는 C#/VB.targets를 가져오기 전에 false로 설정합니다.
SkipInvalidConfigurations 모두 잘못된 플랫폼 및 구성 조합에 대해 경고를 생성하지만 빌드에 실패하지 않는 경우 true(기본값) 또는 정의되지 않은 경우 false 오류를 생성합니다.
StartupObject .NET Main 메서드 또는 Sub Main 프로시저가 포함된 클래스나 모듈을 지정합니다. 이 속성은 /main 컴파일러 스위치와 동일합니다.
SubsystemVersion .NET 생성된 실행 파일이 사용할 수 있는 하위 시스템의 최소 버전을 지정합니다. 이 속성은 /subsystemversion 컴파일러 스위치와 동일합니다. 이 속성의 기본값에 대한 자세한 내용은 /subsystemversion(Visual Basic) 또는 /subsystemversion(C# 컴파일러 옵션)을 참조하세요.
TargetCompactFramework .NET 빌드 중인 애플리케이션을 실행하는 데 필요한 .NET Compact Framework의 버전입니다. 이를 지정하면 다른 경우에는 참조할 수 없는 특정 프레임워크 어셈블리를 참조할 수 있습니다.
TargetFrameworkVersion .NET 빌드하는 애플리케이션을 실행하는 데 필요한 .NET Framework 버전입니다. 이를 지정하면 다른 경우에는 참조할 수 없는 특정 프레임워크 어셈블리를 참조할 수 있습니다.
TreatWarningsAsErrors .NET true이면 모든 경고가 오류로 처리되도록 하는 부울 매개 변수입니다. 이 매개 변수는 /nowarn 컴파일러 스위치와 동일합니다.
UseCommonOutputDirectory .NET 솔루션의 모든 빌드 출력이 동일한 출력 디렉토리를 사용하도록 하려는 경우 true로 설정할 수 있는 부울 속성입니다. 참조된 프로젝트의 출력이 해당 종속성을 사용하는 프로젝트에 복사되지 않는 경우 true일반적으로 이 설정의 false경우와 같습니다. 이 매개 변수를 설정해 true 도 프로젝트의 실제 출력 디렉터리가 변경되지 않습니다. 필요한 각 프로젝트에 대해 출력 디렉터리를 원하는 공통 출력 디렉터리로 설정해야 합니다.
UseHostCompilerIfAvailable .NET 사용 가능한 경우 true빌드 태스크가 In-Process 컴파일러 개체를 사용하도록 하는 부울 매개 변수입니다. 이 매개 변수는 Visual Studio에서만 사용됩니다.
Utf8Output .NET true이면 UTF-8 인코딩을 사용하여 컴파일러 출력을 기록하는 부울 매개 변수입니다. 이 매개 변수는 /utf8Output 컴파일러 스위치와 동일합니다.
속성 또는 매개 변수 이름 프로젝트 형식 설명
VbcToolPath Visual Basic 현재 버전의 vbc.exe가 재정의될 때 다른 vbc.exe의 위치를 나타내는 선택적 경로입니다.
VbcVerbosity Visual Basic Visual Basic 컴파일러 출력의 자세한 정도를 지정합니다. 유효한 값은 “Quiet”, “Normal”(기본값) 또는 “Verbose”입니다.
VisualStudioVersion 모두 이 프로젝트가 실행 중인 것으로 간주되는 Visual Studio의 버전을 지정합니다. 이 속성이 지정되지 않은 경우 MSBuild는 이를 기본값 {VisualStudioMajorVersion}.0으로 설정합니다. 예를 들어 Visual Studio 2022의 모든 버전에 대해 17.0이 됩니다.

이 속성은 빌드에 사용되는 대상 집합을 지정하기 위해 여러 프로젝트 형식에 사용됩니다. ToolsVersion을 4.0 이상의 프로젝트로 설정하면 VisualStudioVersion은 사용할 하위 도구 집합을 지정하는 데 사용됩니다. 자세한 내용은 도구 집합(ToolsVersion)을 참조하세요.
WarningsAsErrors .NET 오류로 처리할 경고 목록을 지정합니다. 이 매개 변수는 /warnaserror 컴파일러 스위치와 동일합니다.
WarningLevel 모두 컴파일러에서 내보낸 경고에 대해 컴파일러에 전달할 경고 수준을 지정합니다. 이 설정은 수준 지정이 없는 MSBuild 경고에 영향을 주지 않습니다. C# 컴파일러 설명서의 경고 수준 및 C++ 컴파일러 설명서의 /W(경고 수준)를 참조하세요.
WarningsNotAsErrors .NET 오류로 처리되지 않는 경고 목록을 지정합니다. 이 매개 변수는 /warnaserror 컴파일러 스위치와 동일합니다.
Win32Manifest .NET 최종 어셈블리에 포함해야 하는 매니페스트 파일의 이름입니다. 이 매개 변수는 /win32Manifest 컴파일러 스위치와 동일합니다.
Win32Resource .NET 최종 어셈블리에 포함할 Win32 리소스의 파일 이름입니다. 이 매개 변수는 /win32resource 컴파일러 스위치와 동일합니다.

.NET SDK 프로젝트와 관련된 속성(예: TargetFramework)은 프레임워크 속성에 설명되어 있습니다.

참조