在没有WPF的程序集中嵌入BAML
我希望将编译后的XAML嵌入到程序集中,如BAML2006 如果选择Embedded Resource MSBuild操作,则XAML文件将作为文本资源嵌入到程序集中,该文本资源可以像任何其他松散的XAML资源一样读取。但是,对于引用的名称空间,loose XAML有一些缺陷,最严重的是,在解析loose XAML之前,必须将其在没有WPF的程序集中嵌入BAML,wpf,xaml,msbuild,baml,Wpf,Xaml,Msbuild,Baml,我希望将编译后的XAML嵌入到程序集中,如BAML2006 如果选择Embedded Resource MSBuild操作,则XAML文件将作为文本资源嵌入到程序集中,该文本资源可以像任何其他松散的XAML资源一样读取。但是,对于引用的名称空间,loose XAML有一些缺陷,最严重的是,在解析loose XAML之前,必须将其[xmlnDefinitionAttribute]引用的任何名称空间加载到AppDomain。与此相反,嵌入式BAML不受此影响,因为包含命名空间的程序集被添加到引用程序
[xmlnDefinitionAttribute]
引用的任何名称空间加载到AppDomain
。与此相反,嵌入式BAML不受此影响,因为包含命名空间的程序集被添加到引用程序集的列表中,并在任何代码开始运行之前由AppDomain
自动加载
如果选择了页面MSBuild任务,XAML将“编译”到BAML2006中,并嵌入到包含程序集的.resources.g
。但是,如果未引用WindowsBase
、PresentationCode
和PresentationFramework
程序集,编译将失败。由于我正在从事一个使用XAML但不使用WPF的项目(我们使用XamlObjectWriter
和自定义标记扩展加载对象图,但重用Visual Studio的一些XAML编辑器基础结构以支持IntelliSense),我希望避免依赖这些库
有没有办法使MSBuild嵌入BAML并添加所需的程序集引用而不依赖于WPF
我想工作流基金会使用了类似的方法,但我没有找到任何信息。