PartialClassGenerationTask 和 MarkupCompilePass1 works/belongs 如何结合在一起

How does PartialClassGenerationTask and MarkupCompilePass1 works/belongs together

谁能解释一下 MarkupCompilePass1PartialClassGenerationTask 这两个构建任务是如何归为一类的?目前我不知道他们是否共存或者是否需要彼此。有人可以阐明 类 的用法以及它们如何相互作用吗?

MarkupCompilePass1 将使用 PartialClassGenerationTask 为所有 XAML 文件生成部分 classes。

WPF 管道非常复杂,并且在编译 WPF 应用程序时有很多活动部件。

PartialClassGenerationTask 专门作用于 XAML 个指定类型并具有 x:Class 的文件。当遇到这些时,任务将生成匹配的 cs 或 vb 代码文件,以便 C#/VB 编译器稍后可以引用 class 及其属性。

MarkupCompilePass1 任务将基于文本的 XAML 文件转换为二进制 BAML 格式。它将编译所有 XAML 只引用在其他项目和引用的程序集中定义的类型的文件。

MarkupCompilePass2 任务跟进第 1 遍,它专门编译 XAML 文件,这些文件将同一项目中的代码引用到 BAML。

为了加快编译您的 XAML 项目,最好在第二个项目(标准 Class 库)中定义您的类型。这样 MarkupCompilePass2 就可以被跳过。

MSDN 上解释了完整的 WPF 构建管道: