有人可以解释这两个 Build 任务是如何在一起MarkupCompilePass1
的吗?PartialClassGenerationTask
目前我不知道它们是否共存或是否需要彼此。有人可以澄清这两个类的用法以及它们如何相互交互吗?
问问题
320 次
1 回答
3
将MarkupCompilePass1
使用PartialClassGenerationTask
为所有 XAML 文件生成部分类。
WPF 管道非常复杂,在编译 WPF 应用程序时有许多移动部件。
PartialClassGenerationTask
专门针对指定类型并具有x:Class
. 遇到这些时,任务将生成匹配的 cs 或 vb 代码文件,以便 C#/VB 编译器稍后可以引用该类及其属性。
该MarkupCompilePass1
任务将基于文本的 XAML 文件转换为二进制 BAML 格式。它将编译仅引用其他项目中定义的类型和引用的程序集的所有 XAML 文件。
该MarkupCompilePass2
任务在 Pass 1 上进行,它专门编译 XAML 文件,这些文件将同一项目中的代码引用到 BAML。
要加快 XAML 项目的编译速度,最好在第二个项目(标准类库)中定义类型。这样MarkupCompilePass2
就可以跳过了。
MSDN 上解释了完整的 WPF 构建管道:
于 2016-05-01T14:10:00.480 回答