MarkupCompilePass1 タスクMarkupCompilePass1 Task

MarkupCompilePass1 タスクは、ローカライズできない Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) プロジェクト ファイルをコンパイルされたバイナリ形式に変換します。The MarkupCompilePass1 task converts non-localizable Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) project files to compiled binary format.

タスク パラメーターTask Parameters

パラメーターParameter 説明Description
AllGeneratedFiles 省略可能な ITaskItem[] 型の出力パラメーターです。Optional ITaskItem[] output parameter.

MarkupCompilePass1 タスクによって生成されるファイルの完全なリストが含まれています。Contains a complete list of files that are generated by the MarkupCompilePass1 task.
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.
ApplicationMarkup 省略可能な ITaskItem[] パラメーターです。Optional ITaskItem[] parameter.

アプリケーション定義 XAMLXAML ファイルの名前を指定します。Specifies the name of the application definition XAMLXAML file.
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 the AssembliesGeneratedDuringBuild parameter.

注: AssembliesGeneratedDuringBuild パラメーターは、ビルド ソリューションによって生成されるアセンブリの完全なセットへの参照を含んでいる必要があります。Note: The AssembliesGeneratedDuringBuild parameter 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 という名前の WindowsWindows 実行可能ファイルを生成する場合、AssemblyName パラメーターの値は WinExeAssembly になります。For example, if a project is generating a WindowsWindows executable whose name is WinExeAssembly.exe, the AssemblyName parameter has a value of WinExeAssembly.
AssemblyPublicKeyToken 省略可能な String 型のパラメーターです。Optional String parameter.

アセンブリの公開キー トークンを指定します。Specifies the public key token for the assembly.
AssemblyVersion 省略可能な String 型のパラメーターです。Optional String parameter.

アセンブリのバージョン番号を指定します。Specifies the version number of the assembly.
ContentFiles 省略可能な ITaskItem[] パラメーターです。Optional ITaskItem[] parameter.

圧縮しないコンテンツ ファイルの一覧を指定します。Specifies the list of loose content files.
DefineConstants 省略可能な String 型のパラメーターです。Optional String parameter.

DefineConstants の現在の値を保持するように指定します。Specifies that the current value of DefineConstants, is kept. これはターゲット アセンブリの生成に影響します。このパラメーターが変更されると、ターゲット アセンブリ内のパブリック API が変更される可能性があり、ローカル型を参照する XAMLXAML ファイルのコンパイルが影響を受けることがあります。which affects target assembly generation; if this parameter is changed, the public API in the target assembly may be changed and the compilation of XAMLXAML files that reference local types may be affected.
ExtraBuildControlFiles 省略可能な ITaskItem[] パラメーターです。Optional ITaskItem[] parameter.

MarkupCompilePass1 タスクを再実行した場合に、リビルドがトリガーされるかどうかを制御するファイルの一覧を指定します。これらのファイルのいずれかが変更されると、リビルドがトリガーされます。Specifies a list of files that control whether a rebuild is triggered when the MarkupCompilePass1 task reruns; a rebuild is triggered if one of these files changes.
GeneratedBamlFiles 省略可能な ITaskItem[] 型の出力パラメーターです。Optional ITaskItem[] output parameter.

XAMLXAML バイナリ形式で生成されたファイルの一覧を含みます。Contains the list of generated files in XAMLXAML binary format.
GeneratedCodeFiles 省略可能な ITaskItem[] 型の出力パラメーターです。Optional ITaskItem[] output parameter.

生成されるマネージ コード ファイルの一覧を含みます。Contains the list of generated managed code files.
GeneratedLocalizationFiles 省略可能な ITaskItem[] 型の出力パラメーターです。Optional ITaskItem[] output parameter.

ローカライズ可能な各 XAMLXAML ファイルに対して生成されたローカリゼーション ファイルの一覧を含みます。Contains the list of localization files that were generated for each localizable XAMLXAML file.
HostInBrowser 省略可能な String 型のパラメーターです。Optional String parameter.

生成されるアセンブリが XAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP) であるかどうかを指定します。Specifies whether the generated assembly is a XAML ブラウザー アプリケーション (XBAP)XAML browser application (XBAP). 有効なオプションは、true および false です。The valid options are true and false. true の場合は、ブラウザーのホスト処理をサポートするコードが生成されます。If true, code is generated to support browser hosting.
KnownReferencePaths 省略可能な String[] 型のパラメーターです。Optional String[] parameter.

ビルド処理時に変更されないアセンブリへの参照を指定します。Specifies references to assemblies that do not change 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++.
LanguageSourceExtension 省略可能な String 型のパラメーターです。Optional String parameter.

生成されるマネージ コード ファイルの拡張子に追加される拡張子を指定します。Specifies the extension that is appended to the extension of the generated managed code file:

<Filename>.g<LanguageSourceExtension>

LanguageSourceExtension パラメーターが特定の値に設定されていない場合、言語に応じた既定のソース ファイル名拡張子が使用されます。つまり、Microsoft Visual BasicMicrosoft Visual Basic では .vb になり、C#C# では .csharp になります。If the LanguageSourceExtension parameter is not set with a specific value, the default source file name extension for a language is used: .vb for Microsoft Visual BasicMicrosoft Visual Basic, .csharp for C#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 managed code files and 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.
PageMarkup 省略可能な ITaskItem[] パラメーターです。Optional ITaskItem[] parameter.

処理する XAMLXAML ファイルの一覧を指定します。Specifies a list of XAMLXAML files to process.
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.
RequirePass2ForMainAssembly 省略可能な Boolean 型の出力パラメーターです。Optional Boolean output parameter.

メイン アセンブリに埋め込まれるローカル型を参照する、ローカライズできない XAMLXAML ファイルがプロジェクトに含まれているかどうかを示します。Indicates whether the project contains non-localizable XAMLXAML files that reference local types that are embedded into the main assembly.
RequirePass2ForSatelliteAssembly 省略可能な Boolean 型の出力パラメーターです。Optional Boolean output parameter.

メイン アセンブリに埋め込まれるローカル型を参照する、ローカライズ可能な XAMLXAML ファイルがプロジェクトに含まれているかどうかを示します。Indicates whether the project contains localizable XAMLXAML files that reference local types that are embedded in the main assembly.
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.
SourceCodeFiles 省略可能な ITaskItem[] パラメーターです。Optional ITaskItem[] parameter.

現在のプロジェクトのコード ファイルの一覧を指定します。Specifies the list of code files for the current project. このリストには、生成される言語固有のマネージ コード ファイルは含まれません。The list does not include generated language-specific managed code files.
UICulture 省略可能な String 型のパラメーターです。Optional String parameter.

生成される XAMLXAML バイナリ形式ファイルが埋め込まれる UI カルチャのサテライト アセンブリを指定します。Specifies the satellite assembly for the UI culture in which the generated XAMLXAML binary format files are embedded. UICulture が設定されない場合、生成される XAMLXAML バイナリ形式ファイルは、メイン アセンブリに埋め込まれます。If UICulture is not set, the generated XAMLXAML binary format files are embedded in the main assembly.
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

MarkupCompilePass1 タスクは通常、XAMLXAML をバイナリ形式にコンパイルしてコード ファイルを生成します。The MarkupCompilePass1 task typically compiles XAMLXAML into binary format and generates code files. 同じプロジェクト内で定義される型への参照が XAMLXAML ファイルに含まれている場合、MarkupCompilePass1 は、バイナリ形式へのコンパイルを 2 番目のマークアップ コンパイル パス (MarkupCompilePass2) まで延期します。If a XAMLXAML file contains references to types that are defined in the same project, its compilation to binary format is deferred by MarkupCompilePass1 to a second markup compilation pass (MarkupCompilePass2). このようなファイルでは、参照しているローカル定義の型がコンパイルされるまで待つ必要があるため、コンパイルを延期する必要があります。Such files must have their compilation deferred because they must wait until the referenced locally-defined types are compiled. ただし、XAMLXAML ファイルに x:Class 属性がある場合、MarkupCompilePass1 はこのファイルの言語固有のコード ファイルを生成します。However, if a XAMLXAML file has an x:Class attribute, MarkupCompilePass1 generates the language-specific code file for it.

XAMLXAML ファイルに x:Uid 属性を使用する要素が含まれている場合、そのファイルはローカライズ可能です。A XAMLXAML file is localizable if it contains elements that use the x:Uid attribute:

<Page x:Class="WPFMSBuildSample.Page1"  
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
    x:Uid="Page1Uid"  
    >  
  ...  
</Page>  

XAMLXAML ファイルは、clr-namespace 値を使用して現在のプロジェクトの名前空間を参照する XMLXML 名前空間を宣言している場合、ローカルに定義された型を参照します。A XAMLXAML file references a locally-defined type when it declares an XMLXML namespace that uses the clr-namespace value to refer to a namespace in the current project:

<Page x:Class="WPFMSBuildSample.Page1"  
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
    xmlns:localNamespace="clr-namespace:WPFMSBuildSample"  
    >  
    <Grid>  
      <Grid.Resources>  
        <localNameSpace:LocalType x:Key="localType" />  
      </Grid.Resources>  
      ...  
    </Grid>  
</Page>  

いずれかの XAMLXAML ファイルがローカライズ可能であるか、またはローカルに定義された型を参照している場合は、2 番目のマークアップ コンパイル パスが必要です。このパスでは、GenerateTemporaryTargetAssembly を実行し、次に MarkupCompilePass2 を実行する必要があります。If any XAMLXAML file is localizable, or references a locally-defined type, a second markup compilation pass is required, which requires running the GenerateTemporaryTargetAssembly and then the MarkupCompilePass2.

Example

3 つの PageXAMLXAML ファイルをバイナリ形式ファイルに変換する方法を次の例に示します。The following example shows how to convert three PageXAMLXAML files to binary format files. Page1 には、Class1 という型への参照が含まれます。この型はプロジェクトのルート名前空間内にあるため、このマークアップ コンパイル パスではバイナリ形式ファイルに変換されません。Page1 contains a reference to a type, Class1, which is in the root namespace of the project and therefore, is not converted to binary format files in this markup compile pass. 代わりに、GenerateTemporaryTargetAssembly が実行され、次に MarkupCompilePass2 が実行されます。Instead, the GenerateTemporaryTargetAssembly is executed and is followed by the MarkupCompilePass2.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
  <UsingTask   
    TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass1"   
    AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />  
  <Target Name="MarkupCompilePass1Task">  
    <MarkupCompilePass1   
      AssemblyName="WPFMSBuildSample"  
      Language="C#"  
      OutputType="WinExe"  
      OutputPath="obj\Debug\"  
      ApplicationMarkup="App.xaml"  
      PageMarkup="Page1.xaml;Page2.xaml;Page3.xaml"  
      SourceCodeFiles="Class1.cs"  
      References="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