c#-PartialClassGenerationTask和MarkupCompilePass1如何一起工作/属于

有人能解释一下两个Build任务MarkupCompilePass1和PartialClassGenerationTask如何一起存在吗?目前我不知道它们是否并存或彼此需要.有人可以弄清楚这两个类的用法以及它们如何相互影响吗?

解决方法:

MarkupCompilePass1将使用PartialClassGenerationTask为所有XAML文件生成部分类.

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

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

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

MarkupCompilePass2任务紧随Pass 1之后进行,它专门编译将同一项目中的代码引用到BAML的XAML文件.

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

在MSDN上说明了完整的WPF构建管道:

> https://msdn.microsoft.com/en-us/library/aa970678(v=vs.100).aspx#The_Windows_Presentation_Foundation_Build_Pipeline

上一篇:C#之项目常用方法之静态扩展


下一篇:c#-Visual Studio 2010 $(PlatformName)宏与MSBuild.exe不兼容