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#、VB、JScript、J#、および C++ です。 |
LocalizationDirectivesToLocFile |
省略可能な String 型のパラメータ。 各ソース XAML ファイルのローカリゼーション情報を生成する方法を指定します。有効なオプションは、None、CommentsOnly、および All です。 |
OutputPath |
必須の String 型のパラメータ。 XAML バイナリ形式ファイルが生成されるディレクトリを指定します。 |
OutputType |
必須の String 型のパラメータ。 プロジェクトで生成されるアセンブリの型を指定します。有効なオプションは、winexe、exe、library、および 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>
参照
概念
Windows Presentation Foundation XAML ブラウザ アプリケーションの概要
その他の技術情報
Windows Presentation Foundation MSBuild のリファレンス