我有两个项目的WinUI 3(桌面)。一个项目是桌面应用程序,另一个项目是类库(用于桌面应用程序)。在库中,我想用XAML定义一个页面,并在运行时将其加载到桌面应用程序中(插件概念)。该库名为“MyHome.dll”。页面在XAML中定义。该页面的类称为“MyHome”。
加载程序集的代码:
var dir = System.AppDomain.CurrentDomain.BaseDirectory;
Assembly MyHomeAssembly = Assembly.LoadFile (dir + "/MyHome.dll");
var page = (Page) Assembly.CreateInstance ("MyHome.MyHome")
字符串
程序集已加载。使用调试器,我可以看到类'MyHome'被包含在内。生成XAML分析错误。我的问题是:如何在运行时从类中加载页面(XAML)和代码(C#)。
2条答案
按热度按时间xyhw6mcr1#
尝试使用方法
Assembly.LoadFrom()
而不是Assembly.LoadFile()
这篇文章描述了这两种方法之间的区别:Difference between LoadFile and LoadFrom with .NET Assemblies?
下面是一个简单的例子,即插即用方法在运行时加载模块。
的数据
h7wcgrx32#
错误继续。桌面应用程序的代码:
字符串
dll是一个简单的class-library-Project,带有xaml-Code:
型
错误:Microsoft.UI.Xaml.Markup.XamlParseException:“XAML”