XamlReader 是否可以加载包含外部程序集中定义的类型的 xaml?
XamlReader 正在使用本地程序集和 WPF 中定义的类型加载 Xaml组件没有任何问题。
如果我包含外部程序集中定义的类型,则 XamlParseException 会抛出以下消息。
无法创建未知类型“{clr-namespace:Telerik.Windows.Controls; assembly=Telerik.Windows.Controls.Charting}SeriesMapping”。行号“13”和行位置“18”。
是否可以使用此技术从外部程序集加载类型?
The XamlReader is loading Xaml using types defined within the local assembly and the WPF assemblies without any problems.
If I include types defined within external assemblies then a XamlParseException with the following message is thrown.
Cannot create unknown type '{clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Charting}SeriesMapping'.' Line number '13' and line position '18'.
Is it possible to load types from external assemblies using this technique?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这是可能的。诀窍是在调用 XamlReader.Parse 之前将外部程序集加载到 AppDomain 中。
如果从进行调用的程序集引用程序集,则执行此操作的最简单方法是使用该外部程序集的类型声明变量。请注意,无需实例化该类型。
或者,可以使用 Assembly.Load 方法加载非引用的程序集。
Yes this is possible. The trick is to load the external assemblies into the AppDomain before making the call to XamlReader.Parse.
If the assemblies are referenced from the assembly making the call then the simplest means of doing this would be to declare a variable using a type from that external assembly. Note that it is not necessary to instantiate the type.
Alternatively, the Assembly.Load method can be used to load non referenced assemblies.