MarkupCompilePass2 タスクMarkupCompilePass2 Task

MarkupCompilePass2 タスクは、同じプロジェクト内で型を参照する Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) ファイルの 2 回目のマークアップのコンパイルを実行します。The MarkupCompilePass2 task performs second-pass markup compilation on Extensible Application Markup Language (XAML)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 を返す場合、タスクは Microsoft Build Engine (MSBuild)Microsoft build engine (MSBuild) と同じ AppDomain 内で、より高速に実行されます。If this parameter returns false, the task runs in the same AppDomain as Microsoft Build Engine (MSBuild)Microsoft build engine (MSBuild), and it runs faster. このパラメーターが true を返す場合、タスクは MSBuildMSBuild から分離された 2 番目の 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. たとえば、Microsoft Visual Studio 2005Microsoft Visual Studio 2005 ソリューションには、別のプロジェクトのコンパイル済み出力を参照するプロジェクトが含まれていることがあります。For example, a Microsoft Visual Studio 2005Microsoft Visual Studio 2005 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.exe という名前の Microsoft 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#VBJScriptC++ です。The valid options are C#, VB, JScript, and C++.
LocalizationDirectivesToLocFile 省略可能な String 型のパラメーターです。Optional String parameter.

各ソース XAMLXAML ファイルのローカリゼーション情報を生成する方法を指定します。Specifies how to generate localization information for each source XAMLXAML file. 有効なオプションは、NoneCommentsOnly、および All です。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. 有効なオプションは、winexeexelibrary、および netmodule です。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. そのうちの 1 つは、GenerateTemporaryTargetAssembly タスクによって生成されたアセンブリへの参照です。このタスクは、MarkupCompilePass2 タスクの前に実行しておく必要があります。One reference is to the assembly that was generated by the GenerateTemporaryTargetAssembly task, which must be run before the MarkupCompilePass2 task.
RootNamespace 省略可能な String 型のパラメーターです。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 タスクを使用して 2 番目のコンパイル パスを実行する方法を次の例に示します。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 (タスク リファレンス) Task Reference
MSBuild リファレンス MSBuild Reference
Task Reference (タスク リファレンス) Task Reference
WPF アプリケーション (WPF) のビルド Building a WPF Application (WPF)
WPF XAML ブラウザー アプリケーションの概要WPF XAML Browser Applications Overview