MarkupCompilePass2 작업MarkupCompilePass2 Task

MarkupCompilePass2 작업은 같은 프로젝트의 형식을 참조하는 XAML(Extensible Application Markup Language)Extensible Application Markup Language (XAML) 파일에 대해 두 번째 패스 태그 컴파일을 수행합니다.The MarkupCompilePass2 task performs second-pass markup compilation on XAML(Extensible Application Markup Language)Extensible Application Markup Language (XAML) files that reference types in the same project.

작업 매개 변수Task Parameters

매개 변수Parameter 설명Description
AlwaysCompileMarkupFilesInSeparateDomain 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

별도의 AppDomain에서 작업을 실행할지 여부를 지정합니다.Specifies whether to run the task in a separate AppDomain. 이 매개 변수가 false를 반환하는 경우 작업은 MSBuild(Microsoft Build Engine)Microsoft build engine (MSBuild)와 동일한 AppDomain에서 더 빠르게 실행됩니다.If this parameter returns false, the task runs in the same AppDomain as MSBuild(Microsoft Build Engine)Microsoft build engine (MSBuild), and it runs faster. 이 매개 변수가 true를 반환하는 경우 작업은 MSBuildMSBuild에서 분리된 또 다른 AppDomain에서 실행되며 더 느리게 실행됩니다.If the parameter returns true, the task runs in a second AppDomain that is isolated from MSBuildMSBuild and runs slower.
AssembliesGeneratedDuringBuild 선택적 String[] 매개 변수입니다.Optional String[] parameter.

빌드 프로세스 중에 변경되는 어셈블리에 대한 참조를 지정합니다.Specifies references to assemblies that change during the build process. 예를 들어 Visual Studio 솔루션에는 다른 프로젝트의 컴파일된 출력을 참조하는 하나의 프로젝트가 포함될 수 있습니다.For example, a Visual Studio solution may contain one project that references the compiled output of another project. 이 경우 두 번째 프로젝트의 컴파일된 출력을 AssembliesGeneratedDuringBuild에 추가할 수 있습니다.In this case, the compiled output of the second project can be added to AssembliesGeneratedDuringBuild.

참고: AssembliesGeneratedDuringBuild는 빌드 솔루션에 의해 생성되는 어셈블리의 전체 집합에 대한 참조를 포함해야 합니다.Note: AssembliesGeneratedDuringBuild must contain references to the complete set of assemblies that are generated by a build solution.
AssemblyName 필수 String 매개 변수입니다.Required String parameter.

프로젝트에 대해 생성되는 어셈블리의 약식 이름을 지정합니다.Specifies the short name of the assembly that is generated for a project. 예를 들어 프로젝트가 이름이 WinExeAssembly.exeMicrosoft WindowsMicrosoft Windows 실행 파일을 생성하는 경우 AssemblyName 매개 변수는 WinExeAssembly 값을 갖습니다.For example, if a project is generating a Microsoft WindowsMicrosoft Windows executable whose name is WinExeAssembly.exe, the AssemblyName parameter has a value of WinExeAssembly.
GeneratedBaml 선택적 ITaskItem 출력 매개 변수입니다.Optional ITaskItem[] output parameter.

XAMLXAML 이진 형식으로 생성된 파일 목록을 포함합니다.Contains the list of generated files in XAMLXAML binary format.
KnownReferencePaths 선택적 String[] 매개 변수입니다.Optional String[] parameter.

빌드 프로세스 중에 절대 변경되지 않는 어셈블리에 대한 참조를 지정합니다.Specifies references to assemblies that are never changed during the build process. GAC(전역 어셈블리 캐시)global assembly cache (GAC), Microsoft .NET FrameworkMicrosoft .NET Framework 설치 디렉터리 등에 있는 어셈블리를 포함합니다.Includes assemblies that are located in the GAC(전역 어셈블리 캐시)global assembly cache (GAC), in a Microsoft .NET FrameworkMicrosoft .NET Framework installation directory, and so on.
Language 필수 String 매개 변수입니다.Required String parameter.

컴파일러가 지원하는 관리되는 언어를 지정합니다.Specifies the managed language that the compiler supports. 유효한 옵션은 C#, VB, JScriptC++ 입니다.The valid options are C#, VB, JScript, and C++.
LocalizationDirectivesToLocFile 선택적 문자열 매개 변수입니다.Optional String parameter.

각 소스 XAMLXAML 파일에 대한 지역화 정보를 생성하는 방법을 지정입니다.Specifies how to generate localization information for each source XAMLXAML file. 유효한 옵션은 None, CommentsOnlyAll입니다.The valid options are None, CommentsOnly, and All.
OutputPath 필수 String 매개 변수입니다.Required String parameter.

생성된 XAMLXAML 이진 형식 파일이 생성되는 디렉터리를 지정합니다.Specifies the directory in which the generated XAMLXAML binary format files are generated.
OutputType 필수 String 매개 변수입니다.Required String parameter.

프로젝트에서 생성되는 어셈블리의 형식을 지정합니다.Specifies the type of assembly that is generated by a project. 유효한 옵션은 winexe, exe, librarynetmodule입니다.The valid options are winexe, exe, library, and netmodule.
References 선택적 ITaskItem[] 매개 변수입니다.Optional ITaskItem[] parameter.

XAMLXAML 파일에서 사용되는 형식을 포함하는 어셈블리에 대한 파일의 참조 목록을 지정합니다.Specifies the list of references from files to assemblies that contain the types that are used in the XAMLXAML files. 한 가지 참조는 GenerateTemporaryTargetAssembly 작업에 의해 생성된 어셈블리에 대한 것입니다. 이 작업은 MarkupCompilePass2 작업 전에 실행되어야 합니다.One reference is to the assembly that was generated by the GenerateTemporaryTargetAssembly task, which must be run before the MarkupCompilePass2 task.
RootNamespace 선택적 문자열 매개 변수입니다.Optional String parameter.

프로젝트 내에 있는 클래스에 대한 루트 네임스페이스를 지정합니다.Specifies the root namespace for classes that are inside the project. RootNamespace는 해당 XAMLXAML 파일에 x:Class 특성이 포함되어 있지 않을 때 생성된 관리 코드 파일의 기본 네임스페이스로도 사용됩니다.RootNamespace is also used as the default namespace of a generated managed code file when the corresponding XAMLXAML file does not include the x:Class attribute.
XAMLDebuggingInformation 선택적 Boolean 매개 변수입니다.Optional Boolean parameter.

true이면 디버깅에 도움을 주기 위해 진단 정보가 생성되고 컴파일된 XAMLXAML에 포함됩니다.When true, diagnostic information is generated and included in the compiled XAMLXAML in order to aid debugging.

설명Remarks

MarkupCompilePass2를 실행하기 전에 해당 마크업 컴파일 패스가 지연된 XAMLXAML 파일에서 사용되는 형식을 포함하는 임시 어셈블리를 생성해야 합니다.Before you run MarkupCompilePass2, you must generate a temporary assembly that contains the types that are used by the XAMLXAML files whose markup compilation pass were deferred. GenerateTemporaryTargetAssembly 작업을 실행하여 임시 어셈블리를 생성합니다.You generate the temporary assembly by running the GenerateTemporaryTargetAssembly task.

생성된 임시 어셈블리에 대한 참조가 MarkupCompilePass2 작업이 실행될 때 제공되어 첫 번째 태그 컴파일 패스에서 컴파일이 지연되었던 XAMLXAML 파일이 이진 형식으로 컴파일되도록 합니다.A reference to the generated temporary assembly is provided to MarkupCompilePass2 when it runs, allowing the XAMLXAML files whose compilation was deferred in the first markup compilation pass to now be compiled to binary format.

Example

다음 예제에서는 MarkupCompilePass2 작업을 사용하여 두 번째 패스 컴파일을 수행하는 방법을 보여 줍니다.The following example shows how to use the MarkupCompilePass2 task to perform a second pass compilation.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <UsingTask 
    TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass2" 
    AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
  <Target Name="MarkupCompilePass2Task">
    <MarkupCompilePass2 
      AssemblyName="WPFMSBuildSample"
      Language="C#"
      OutputType="WinExe"
      OutputPath="obj\Debug\"
      References=".\obj\debug\WPFMSBuildSample.exe;c:\windows\Microsoft.net\Framework\v2.0.50727\System.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\PresentationCore.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\PresentationFramework.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\WindowsBase.dll" />
  </Target>
</Project>

참고 항목See Also

WPF MSBuild 참조WPF MSBuild Reference
작업 참조Task Reference
MSBuild 참조MSBuild Reference
작업 참조Task Reference
WPF 응용 프로그램 빌드(WPF)Building a WPF Application (WPF)
WPF XAML 브라우저 응용 프로그램 개요WPF XAML Browser Applications Overview