🌍English / 中文
在Windows App SDK
上使用插件加载器加载插件
插件内以下内容可以被加载:
-
C#代码
- 自定义
WinUI控件
(Page
/UserControl
) - 自定义
资源字典
(ResourceDictionary
) -
图片资源
(Assets
) -
i18n
(Resw
)
仅需几个步骤即可构建属于你的插件加载器
由于特殊的加载模式,我们需要遵循一些代码准则
graph TD;
B[Type]-->A;
O[IEnumerable<Type>]-->A;
C[DirectoryInfo]-->A;
P[ZipFile]-->A;
A[FileInfo]-->D@{ shape: procs, label: "Load And Sort PluginMetaData"};
D-->E[Check if PluginMetaData is valid];
E-->F@{ shape: rounded, label: "Before Load Plugin Event" };
F-->G[Load Main Plugin];
G-->H@{ shape: rounded, label: "After Load Plugin Event" };
H-->I@{ shape: stadium, label: "Finish" };
block-beta
columns 4
a[["Name"]] b[["Before Start"]] c[["Before Compile"]] d[["After Compile"]]
e["SDK"] f["/"]:2 g["Export PluginMeta Define"]
h["Plugin"] i["Load Define File"] j["Generate PluginMetadata"] k["Package To Zip"]
- 📦kitUIN.CustomExtensions.WinUI 提供插件加载支持
- 🛠️ShadowPluginLoader.Tool 提供插件构建工具
- 🛠️ShadowPluginLoader.SourceGenerator 自动生成帮助类
- 🎉winui-extensions 开创了WinUI3中加载插件的先河
- 📦DryIoc 提供灵活的依赖注入
- 🛠️SharpCompress - 提供压缩解压支持
- 📃Serilog 提供开箱即用的日志
- 💡WindowsAppSDK 提供框架支持