일반적인 MSBuild 프로젝트 속성
다음 표에 자주 Visual Studio 프로젝트 파일에 정의 된 속성을 사용 하거나 제공 MSBuild.targets 파일에 포함 합니다.
프로젝트 파일 (.csproj,.vbproj, vcxproj, 및 기타) Visual Studio는 IDE를 사용 하 여 프로젝트를 빌드할 때 실행 되는 MSBuild XML 코드를 포함 합니다.일반적으로 프로젝트에서는 하나 이상의 .targets 파일을 가져와서 빌드 프로세스를 정의합니다.자세한 내용은 MSBuild .Targets 파일을 참조하십시오.
일반적인 속성 및 매개 변수 목록
속성 또는 매개 변수 이름 |
설명 |
---|---|
AdditionalLibPaths |
컴파일러에서 참조 어셈블리를 조회해야 하는 추가 폴더를 지정합니다. |
AddModules |
컴파일러에서 지정된 파일의 모든 형식 정보를 컴파일하고 있는 프로젝트에 사용할 수 있도록 합니다.이 속성은 /addModules 컴파일러 스위치와 같습니다. |
ALToolPath |
AL.exe를 찾을 수 있는 경로입니다.이 속성은 다른 버전의 AL.exe를 사용하기 위해 현재 버전의 AL.exe를 재정의합니다. |
ApplicationIcon |
Win32 아이콘으로 포함하기 위해 컴파일러에 전달할 .ico 아이콘 파일입니다.이 속성은 /win32icon 컴파일러 스위치와 같습니다. |
ApplicationManifest |
외부 UAC(사용자 계정 컨트롤) 매니페스트 정보를 생성하는 데 사용되는 파일의 경로를 지정합니다.Windows Vista를 대상으로 하는 Visual Studio 프로젝트에만 적용됩니다. 대부분의 경우 매니페스트는 포함되어 있지만등록이 필요 없는 COM 또는 ClickOnce 배포를 사용할 경우 매니페스트가 응용 프로그램 어셈블리와 함께 설치되는 외부 파일일 수 있습니다.자세한 내용은 이 항목에서 NoWin32Manifest 속성을 참조하십시오. |
AssemblyOriginatorKeyFile |
파일 (.snk 또는.pfx)를 사용 하 여 어셈블리에 서명 하는 데 사용 하 고 전달 되는 지정 된 ResolveKeySource 작업 어셈블리에 서명 하는 데 사용 되는 실제 키를 생성 합니다. |
AssemblySearchPaths |
빌드 시간 참조 어셈블리 확인 동안 검색할 위치의 목록입니다.앞에 있는 경로가 뒤에 있는 경로보다 우선하므로 이 목록에 경로가 표시되는 순서는 중요합니다. |
AssemblyName |
프로젝트가 빌드된 후의 마지막 출력 어셈블리 이름입니다. |
BaseAddress |
기본 출력 어셈블리의 기준 주소를 지정합니다.이 속성은 /baseaddress 컴파일러 스위치와 같습니다. |
BaseOutputPath |
출력 파일의 기본 경로를 지정합니다.설정되면 MSBuild에서 OutputPath = $(BaseOutputPath)\$(Configuration)\를 사용합니다.예를 들면 <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>와 같습니다. |
BaseIntermediateOutputPath |
모든 구성 관련 중간 출력 폴더가 만들어지는 최상위 폴더입니다.기본값은 obj\입니다.다음 코드 예제는 다음과 같습니다.<BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath> |
BuildInParallel |
다중 프로세서 MSBuild가 사용될 때 프로젝트 참조를 병렬로 빌드 또는 정리할지 여부를 나타내는 부울 값입니다.기본값은 true이며, 시스템에 다중 핵심 또는 프로세서가 있을 경우 프로젝트가 병렬로 빌드됨을 나타냅니다. |
BuildProjectReferences |
MSBuild에서 프로젝트 참조를 빌드할지 여부를 나타내는 부울 값입니다.Visual Studio IDE(통합 개발 환경)에서 프로젝트를 빌드하는 경우 false로, 그렇지 않으면 true로 설정합니다. |
CleanFile |
"정리 캐시"로 사용할 파일의 이름입니다. 정리 캐시는 생성된 파일 중 정리 작업 동안 삭제할 파일의 목록입니다.이 파일은 빌드 프로세스에 의해 중간 출력 경로에 저장됩니다. 이 속성은 경로 정보가 없는 파일 이름만 지정합니다. |
CodePage |
컴파일할 때 모든 소스 코드 파일에 사용할 코드 페이지를 지정합니다.이 속성은 /codepage 컴파일러 스위치와 같습니다. |
CompilerResponseFile |
컴파일러 작업에 전달할 수 있는 선택적 응답 파일입니다. |
구성 |
빌드하고 있는 구성으로, "디버그" 또는 "릴리스"입니다. |
CscToolPath |
Visual C# 컴파일러인 csc.exe의 경로입니다. |
CustomBeforeMicrosoftCommonTargets |
공통 대상을 가져오기 전에 자동으로 가져올 프로젝트 파일 또는 대상 파일의 이름입니다. |
DebugSymbols |
빌드 시 기호의 생성 여부를 나타내는 부울 값입니다. 명령줄에서 /p:DebugSymbols=false를 설정하면 프로그램 데이터베이스(.pdb) 기호 파일이 생성되지 않습니다. |
DefineConstants |
조건부 컴파일러 상수를 정의합니다.기호/값 쌍은 세미콜론으로 구분되고 다음 구문을 사용하여 지정됩니다. symbol1 = value1 ; symbol2 = value2 이 속성은 /define 컴파일러 스위치와 같습니다. |
DefineDebug |
DEBUG 상수를 정의할지 여부를 나타내는 부울 값입니다. |
DefineTrace |
TRACE 상수를 정의할지 여부를 나타내는 부울 값입니다. |
DebugType |
생성할 디버그 정보의 수준을 정의합니다.유효한 값은 "full", "pdbonly" 및 "none"입니다. |
DelaySign |
어셈블리에 전체 서명하는 대신 어셈블리 서명을 연기할지 여부를 나타내는 부울 값입니다. |
DisabledWarnings |
지정한 경고를 표시하지 않습니다.경고 식별자의 숫자 부분만 지정해야 합니다.경고가 여러 개인 경우 세미콜론으로 구분할 수 있습니다.이 매개 변수는 vbc.exe 컴파일러의 /nowarn 스위치에 해당합니다. |
DisableFastUpToDateCheck |
Visual Studio에만 적용되는 부울 값입니다.Visual Studio 빌드 관리자는 FastUpToDateCheck라는 프로세스를 사용하여 프로젝트를 최신 상태로 다시 빌드해야 하는지 여부를 결정합니다.이 프로세스는 이를 위해 MSBuild를 사용하여 것보다 빠릅니다.DisableFastUpToDateCheck 속성을 true로 설정하면 Visual Studio 빌드 관리자를 사용하지 않고 대신 MSBuild를 사용하여 프로젝트가 최신 상태인지 여부를 확인할 수 있습니다. |
DocumentationFile |
XML 문서 파일로 생성된 파일의 이름입니다.이 이름에는 파일 이름만 포함되고 경로 정보는 포함되지 않습니다. |
ErrorReport |
컴파일러에서 내부 컴파일러 오류를 보고하는 방식을 지정합니다.유효한 값은 "prompt", "send" 또는 "none"입니다. 이 속성은 /errorreport 컴파일러 스위치와 같습니다. |
ExcludeDeploymentUrl |
GenerateDeploymentManifest 작업 프로젝트 파일이 다음과 같은 요소를 포함 하는 경우 배포 매니페스트를 더 태그를 추가 합니다.
그러나 Excludedeploymenturl를 사용 하 여 여 더 태그 위의 Url에 지정 된 경우에 배포 매니페스트에 추가 하 고 방지할 수 있습니다. 이렇게 하려면 프로젝트 파일에는 다음과 같은 속성을 추가 합니다. <ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>
참고
Excludedeploymenturl에 노출 되는 Visual Studio IDE만 수동으로 프로젝트 파일을 편집 하 여 설정할 수 있습니다. 이 속성을 설정할 주지 않습니다 게시 내 Visual Studio. 즉, 더 태그 여전히 여 PublishUrl 지정한 URL에 추가 됩니다.
|
FileAlignment |
출력 파일에서 섹션을 배치할 위치를 바이트로 지정합니다.유효한 값은 512, 1024, 2048, 4096, 8192입니다.이 속성은 /filealignment 컴파일러 스위치와 같습니다. |
FrameworkPathOverride |
mscorlib.dll 및 microsoft.visualbasic.dll의 위치를 지정합니다.이 매개 변수는 vbc.exe 컴파일러의 /sdkpath 스위치와 같습니다. |
GenerateDocumentation |
빌드 시 문서의 생성 여부를 나타내는 부울 매개 변수입니다.true이면 문서 정보를 생성하여 이 정보를 빌드 작업에서 만든 실행 파일이나 라이브러리의 이름과 함께 .xml 파일에 배치합니다. |
IntermediateOutputPath |
경로가 지정되지 않은 경우 BaseIntermediateOutputPath에서 파생된 것과 같은 전체 중간 출력 경로입니다.예를 들어, \obj\debug\와 같습니다.이 속성이 재정의되면 BaseIntermediateOutputPath를 설정해도 아무런 효과가 없습니다. |
KeyContainerName |
강력한 이름 키 컨테이너의 이름입니다. |
KeyOriginatorFile |
강력한 이름 키 파일의 이름입니다. |
NoWin32Manifest |
컴파일러에서 출력 어셈블리에 기본 Win32 매니페스트를 생성하는지 여부를 결정합니다.기본값인 false를 설정하면 기본 Win32 매니페스트가 모든 응용 프로그램에 대해 생성됩니다.이 속성은 vbc.exe의 /nowin32manifest 컴파일러 스위치와 같습니다. |
ModuleAssemblyName |
컴파일된 모듈이 통합되어야 하는 어셈블리의 이름입니다.이 속성은 /moduleassemblyname 컴파일러 스위치와 같습니다. |
NoLogo |
컴파일러 로고를 해제할지 여부를 나타내는 부울 값입니다.이 속성은 /nologo 컴파일러 스위치와 같습니다. |
NoStdLib |
표준 라이브러리(mscorlib.dll)를 참조하지 않을지 여부를 나타내는 부울 값입니다.기본값은 false입니다. |
NoVBRuntimeReference |
Visual Basic 런타임(Microsoft.VisualBasic.dll)이 프로젝트에 참조로 포함되어야 하는지 여부를 나타내는 부울 값입니다. |
NoWin32Manifest |
응용 프로그램의 실행 파일에 UAC(사용자 계정 컨트롤) 매니페스트 정보를 포함할지 여부를 나타내는 부울 값입니다.Windows Vista를 대상으로 하는 Visual Studio 프로젝트에만 적용됩니다.사용 하 여 배포 프로젝트에서 ClickOnce 및 등록이 필요 없는 COM,이 요소가 무시 됩니다. False(기본값) UAC (사용자 계정 컨트롤) 매니페스트 정보를 응용 프로그램의 실행 파일에 포함 하도록 지정 합니다.True는 UAC 매니페스트 정보가 포함되지 않음을 지정합니다. 이 속성은 Windows Vista를 대상으로 하는 Visual Studio 프로젝트에만 적용됩니다.ClickOnce 및 등록이 필요 없는 COM을 사용하여 배포된 프로젝트에서는 이 속성이 무시됩니다. Visual Studio에서 응용 프로그램의 실행 파일에 매니페스트 정보를 포함하려는 경우에만 NoWin32Manifest를 추가해야 합니다. 이 프로세스를 가상화라고 합니다.가상화를 사용하려면 다음과 같이 <ApplicationManifest>와 <NoWin32Manifest>를 함께 설정합니다.
|
Optimize |
true로 설정하면 컴파일러 최적화를 사용할 수 있는 부울 값입니다.이 속성은 /optimize 컴파일러 스위치와 같습니다. |
OptionCompare |
문자열 비교 방법을 지정합니다.유효한 값은 "binary" 또는 "text"입니다. 이 속성은 vbc.exe의 /optioncompare 컴파일러 스위치와 같습니다. |
OptionExplicit |
true로 설정하면 소스 코드에서 변수를 명시적으로 선언하도록 요구하는 부울 값입니다.이 속성은 /optionexplicit 컴파일러 스위치와 같습니다. |
OptionInfer |
true로 설정되면 변수의 형식 유추를 사용할 수 있는 부울 값입니다.이 속성은 /optioninfer 컴파일러 스위치와 같습니다. |
OptionStrict |
true로 설정하면 빌드 작업에서 엄격한 형식 의미를 적용하여 암시적 형식 변환을 제한하도록 하는 부울 값입니다.이 속성은 vbc.exe 컴파일러의 /optionstrict 스위치와 같습니다. |
OutputPath |
"bin\Debug" 같이 프로젝트 디렉터리에 상대적인 출력 디렉터리 경로를 지정합니다. |
OutputType |
출력 파일의 파일 형식을 지정합니다.이 매개 변수의 값은 다음 중 하나일 수 있습니다.
이 속성은 vbc.exe 컴파일러의 /target 스위치와 같습니다. |
OverwriteReadOnlyFiles |
빌드에서 읽기 전용 파일을 덮어쓸지 아니면 오류를 트리거할지 여부를 나타내는 부울 값입니다. |
PdbFile |
내보낼 .pdb 파일의 파일 이름입니다.이 속성은 csc.exe 컴파일러의 /pdb 스위치와 같습니다. |
플랫폼 |
빌드하고 있는 운영 체제입니다.유효한 값은 "AnyCPU", "x86", "x64" 또는 "Itanium"입니다. |
RemoveIntegerChecks |
정수 오버플로 오류 검사를 비활성화할지 여부를 나타내는 부울 값입니다.기본값은 false입니다.이 속성은 vbc.exe 컴파일러의 /removeintchecks 스위치와 같습니다. |
SGenUseProxyTypes |
SGen.exe에서 프록시 형식을 생성해야 하는지 여부를 나타내는 부울 값입니다. SGen 대상은 이 속성을 사용하여 UseProxyTypes 플래그를 설정합니다.이 속성은 true로 기본적으로 설정되어 있으며 UI를 변경할 필요가 없습니다.웹 서비스가 아닌 형식의 경우 serialization 어셈블리를 생성하려면 이 속성을 프로젝트 파일에 추가하고 Microsoft.Common.Targets 또는 C#/VB.targets를 가져오기 전에 false로 설정합니다. |
SGenToolPath |
현재 버전의 SGen.exe가 재정의될 경우 SGen.exe를 구할 수 있는 위치를 나타내는 선택적 도구 경로입니다. |
StartupObject |
Main 메서드 또는 Sub Main 프로시저가 포함된 클래스나 모듈을 지정합니다.이 속성은 /main 컴파일러 스위치와 같습니다. |
ProcessorArchitecture |
어셈블리 참조를 확인할 때 사용되는 프로세서 아키텍처입니다.유효한 값은 "msil", "x86", "amd64" 또는 "ia64"입니다. |
RootNamespace |
포함된 리소스의 이름을 지정할 때 사용할 루트 네임스페이스입니다.이 네임스페이스는 포함된 리소스 매니페스트 이름의 일부입니다. |
Satellite_AlgorithmId |
위성 어셈블리를 만들 때 사용할 AL.exe 해시 알고리즘의 ID입니다. |
Satellite_BaseAddress |
CreateSatelliteAssemblies 대상을 사용하여 문화권별 위성 어셈블리를 빌드할 때 사용할 기준 주소입니다. |
Satellite_CompanyName |
위성 어셈블리를 만들 때 AL.exe에 전달할 회사 이름입니다. |
Satellite_Configuration |
위성 어셈블리를 만들 때 AL.exe에 전달할 구성 이름입니다. |
Satellite_Description |
위성 어셈블리를 만들 때 AL.exe에 전달할 설명 텍스트입니다. |
Satellite_EvidenceFile |
리소스 이름이 "Security.Evidence"인 위성 어셈블리에 지정된 파일을 포함합니다. |
Satellite_FileVersion |
위성 어셈블리의 File Version 필드에 대한 문자열을 지정합니다. |
Satellite_Flags |
위성 어셈블리의 Flags 필드에 대한 값을 지정합니다. |
Satellite_GenerateFullPaths |
빌드 작업에서 오류 메시지에 보고되는 모든 파일에 절대 경로를 사용하도록 합니다. |
Satellite_LinkResource |
지정한 리소스 파일을 위성 어셈블리에 링크합니다. |
Satellite_MainEntryPoint |
위성 어셈블리를 만드는 동안 모듈을 실행 파일로 변환할 때 진입점으로 사용할 메서드의 정규화된 이름(즉, class.method)을 지정합니다. |
Satellite_ProductName |
위성 어셈블리의 Product 필드에 대한 문자열을 지정합니다. |
Satellite_ProductVersion |
위성 어셈블리의 ProductVersion 필드에 대한 문자열을 지정합니다. |
Satellite_TargetType |
위성 어셈블리 출력 파일의 파일 형식을 "library", "exe" 또는 "win"으로 지정합니다. 기본값은 "library"입니다. |
Satellite_Title |
위성 어셈블리의 Title 필드에 대한 문자열을 지정합니다. |
Satellite_Trademark |
위성 어셈블리의 Trademark 필드에 대한 문자열을 지정합니다. |
Satellite_Version |
위성 어셈블리의 버전 정보를 지정합니다. |
Satellite_Win32Icon |
위성 어셈블리에 .ico 아이콘 파일을 삽입합니다. |
Satellite_Win32Resource |
위성 어셈블리에 Win32 리소스(.res file)를 삽입합니다. |
SubsystemVersion |
생성 된 실행 파일을 사용할 수 있는 하위 시스템의 최소 버전을 지정 합니다.이 속성은 /subsystemversion 컴파일러 스위치와 같습니다.이 속성의 기본값에 대 한 내용은 /subsystemversion(Visual Basic) 또는 /subsystemversion(C# 컴파일러 옵션). |
TargetCompactFramework |
빌드하고 있는 응용 프로그램을 실행하는 데 필요한 .NET Compact Framework의 버전입니다.이를 지정하면 다른 경우에는 참조할 수 없는 특정 Framework 어셈블리를 참조할 수 있습니다. |
TargetFrameworkVersion |
빌드하고 있는 응용 프로그램을 실행하는 데 필요한 .NET Framework의 버전입니다.이를 지정하면 다른 경우에는 참조할 수 없는 특정 Framework 어셈블리를 참조할 수 있습니다. |
TreatWarningsAsErrors |
true이면 모든 경고가 오류로 처리되도록 하는 부울 매개 변수입니다.이 매개 변수는 /nowarn 컴파일러 스위치와 같습니다. |
UseHostCompilerIfAvailable |
true이면 빌드 작업에서 가능한 경우 in-process 컴파일러 개체를 사용하도록 하는 부울 매개 변수입니다.이 매개 변수는 Visual Studio에서만 사용됩니다. |
Utf8Output |
true이면 UTF-8 인코딩을 사용하여 컴파일러 출력을 기록하는 부울 매개 변수입니다.이 매개 변수는 /utf8Output 컴파일러 스위치와 같습니다. |
VbcToolPath |
현재 버전의 vbc.exe가 재정의될 경우 다른 vbc.exe가 있는 위치를 나타내는 선택적 경로입니다. |
VbcVerbosity |
Visual Basic 컴파일러의 출력을 어느 정도로 자세하게 설정할지 지정합니다.유효한 값은 "Quiet", "Normal"(기본값) 또는 "Verbose"입니다. |
VisualStudioVersion |
Visual Studio에서이 프로젝트 실행으로 간주 됩니다 버전을 지정 합니다.이 속성이 지정 되지 않으면 Msbuild는 적절 한 기본값을 설정 합니다. 이 속성의 빌드에 사용 되는 대상 집합을 지정 합니다 몇 가지 프로젝트 형식에 사용 됩니다.경우 ToolsVersion 4.0 이상으로 설정 된 프로젝트에 대 한 VisualStudioVersion 를 사용 하는 하위 도구를 지정할 수 있습니다.자세한 내용은 MSBuild 도구 집합(ToolsVersion)을 참조하십시오. |
WarningsAsErrors |
오류로 취급할 경고 목록을 지정합니다.이 매개 변수는 /warnaserror 컴파일러 스위치와 같습니다. |
WarningsNotAsErrors |
오류로 취급하지 않을 경고 목록을 지정합니다.이 매개 변수는 /warnaserror 컴파일러 스위치와 같습니다. |
Win32Manifest |
최종 어셈블리에 포함해야 하는 매니페스트 파일의 이름입니다.이 매개 변수는 /win32Manifest 컴파일러 스위치와 같습니다. |
Wint32Resource |
최종 어셈블리에 포함할 Win32 리소스의 파일 이름입니다.이 매개 변수는 /win32resource 컴파일러 스위치와 같습니다. |