次の方法で共有


MarkupCompilePass2 タスク

更新 : 2007 年 11 月

MarkupCompilePass2 タスクは、同じプロジェクト内の型を参照する Extensible Application Markup Language (XAML) ファイルに対して、2 番目のマークアップ コンパイル パスを実行します。

タスク パラメータ

パラメータ

説明

AlwaysCompileMarkupFilesInSeparateDomain

省略可能な Boolean 型のパラメータ。

タスクを別の AppDomain で実行するかどうかを指定します。このパラメータが false を返す場合、タスクは Microsoft ビルド エンジン (MSBuild) と同じ AppDomain 内で、より高速に実行されます。このパラメータが true を返す場合、タスクは MSBuild から分離された 2 番目の AppDomain 内で実行され、動作はより低速になります。

AssembliesGeneratedDuringBuild

省略可能な String[] 型のパラメータ。

ビルド処理時に変更されるアセンブリへの参照を指定します。たとえば、Microsoft Visual Studio 2005 ソリューションには、別のプロジェクトのコンパイル済み出力を参照するプロジェクトが含まれていることがあります。この場合、別のプロジェクトのコンパイル済み出力を AssembliesGeneratedDuringBuild に追加できます。

メモ : AssembliesGeneratedDuringBuild は、ビルド ソリューションによって生成されるアセンブリの完全なセットへの参照を含んでいる必要があります。

AssemblyName

必須の String 型のパラメータ。

プロジェクトのために生成されるアセンブリの短い名前を指定します。たとえば、プロジェクトが WinExeAssembly.exe という名前の Microsoft Windows 実行可能ファイルを生成する場合、AssemblyName パラメータの値は WinExeAssembly になります。

GeneratedBaml

省略可能な ITaskItem[] 型の出力パラメータ。

XAML バイナリ形式で生成されたファイルの一覧を含みます。

KnownReferencePaths

省略可能な String[] 型のパラメータ。

ビルド処理時に変更されないアセンブリへの参照を指定します。グローバル アセンブリ キャッシュ (GAC)、Microsoft .NET Framework インストール ディレクトリなどにあるアセンブリが含まれます。

Language

必須の String 型のパラメータ。

コンパイラがサポートするマネージ言語を指定します。有効なオプションは、C#VBJScriptJ#、および C++ です。

LocalizationDirectivesToLocFile

省略可能な String 型のパラメータ。

各ソース XAML ファイルのローカリゼーション情報を生成する方法を指定します。有効なオプションは、NoneCommentsOnly、および All です。

OutputPath

必須の String 型のパラメータ。

XAML バイナリ形式ファイルが生成されるディレクトリを指定します。

OutputType

必須の String 型のパラメータ。

プロジェクトで生成されるアセンブリの型を指定します。有効なオプションは、winexeexelibrary、および netmodule です。

References

省略可能な ITaskItem[] 型のパラメータ。

XAML ファイル内で使用される型を含む、ファイルからアセンブリへの参照の一覧を指定します。そのうちの 1 つは、GenerateTemporaryTargetAssembly タスクによって生成されたアセンブリへの参照です。このタスクは、MarkupCompilePass2 タスクの前に実行しておく必要があります。

RootNamespace

省略可能な String 型のパラメータ。

プロジェクト内部にあるクラスのルート名前空間を指定します。RootNamespace は、対応する XAML ファイルが x:Class 属性を含まない場合に、生成されるマネージ コード ファイルの既定の名前空間としても使用されます。

XAMLDebuggingInformation

省略可能な Boolean 型のパラメータ。

true の場合、デバッグを支援するための診断情報が生成され、コンパイルされた XAML 内に追加されます。

解説

MarkupCompilePass2 を実行する前に、マークアップ コンパイル パスが延期された XAML ファイルによって使用される型を含む、一時アセンブリを生成する必要があります。一時アセンブリを生成するには、GenerateTemporaryTargetAssembly タスクを実行します。

MarkupCompilePass2 の実行時には、生成された一時アセンブリへの参照を指定します。これにより、最初のマークアップ コンパイル パスでコンパイルが延期された XAML ファイルをバイナリ形式にコンパイルできるようになります。

使用例

MarkupCompilePass2 タスクを使用して 2 番目のコンパイル パスを実行する方法を次の例に示します。

<Project xmlns="https://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>

参照

概念

WPF アプリケーション (WPF) のビルド

Windows Presentation Foundation XAML ブラウザ アプリケーションの概要

その他の技術情報

Windows Presentation Foundation MSBuild のリファレンス

Windows Presentation Foundation MSBuild のタスク リファレンス

MSBuild リファレンス

MSBuild タスク リファレンス