ShadowPluginLoader.WinUI
2.6.4
dotnet add package ShadowPluginLoader.WinUI --version 2.6.4
NuGet\Install-Package ShadowPluginLoader.WinUI -Version 2.6.4
<PackageReference Include="ShadowPluginLoader.WinUI" Version="2.6.4" />
<PackageVersion Include="ShadowPluginLoader.WinUI" Version="2.6.4" />
<PackageReference Include="ShadowPluginLoader.WinUI" />
paket add ShadowPluginLoader.WinUI --version 2.6.4
#r "nuget: ShadowPluginLoader.WinUI, 2.6.4"
#addin nuget:?package=ShadowPluginLoader.WinUI&version=2.6.4
#tool nuget:?package=ShadowPluginLoader.WinUI&version=2.6.4
<div align="right"> 🌍<a href="">English</a> / 中文 </div> <div align="center">
ShadowPluginLoader.WinUI
✨ 在WinUI3中加载插件(拓展) ✨
</div>
<p align="center"> <a href="https://github.com/kitUIN/ShadowPluginLoader.WinUI/blob/master/LICENSE.txt"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="license"></a> <a href="https://www.nuget.org/packages/ShadowPluginLoader.WinUI"><img src="https://img.shields.io/nuget/v/ShadowPluginLoader.WinUI?style=flat-square" alt="nuget"></a> <a href="https://github.com/kitUIN/ShadowPluginLoader.WinUI/releases"><img src="https://img.shields.io/github/v/release/kitUIN/ShadowPluginLoader.WinUI?style=flat-square" alt="release"></a> </p> <p align="center"> 📖<a href="https://plugin-loader.kituin.fun/zh/">文档</a> · 🐛<a href="https://github.com/kitUIN/ShadowPluginLoader.WinUI/issues/new">提交建议</a>
</p>
✨简介
在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 提供框架支持
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows10.0.19041 is compatible. net7.0-windows was computed. net8.0-windows was computed. net8.0-windows10.0.19041 is compatible. net9.0-windows was computed. net9.0-windows10.0.19041 is compatible. net10.0-windows was computed. |
-
net6.0-windows10.0.19041
- DryIoc.dll (>= 5.4.3)
- kitUIN.CustomExtensions.WinUI (>= 0.6.4)
- Microsoft.Windows.SDK.BuildTools (>= 10.0.22621.756)
- Microsoft.WindowsAppSDK (>= 1.5.241107002)
- Serilog (>= 4.2.0)
- ShadowPluginLoader.SourceGenerator (>= 2.3.4)
- ShadowPluginLoader.Tool (>= 2.6.2)
- SharpCompress (>= 0.39.0)
-
net8.0-windows10.0.19041
- DryIoc.dll (>= 5.4.3)
- kitUIN.CustomExtensions.WinUI (>= 0.6.4)
- Microsoft.Windows.SDK.BuildTools (>= 10.0.22621.756)
- Microsoft.WindowsAppSDK (>= 1.5.241107002)
- Serilog (>= 4.2.0)
- ShadowPluginLoader.SourceGenerator (>= 2.3.4)
- ShadowPluginLoader.Tool (>= 2.6.2)
- SharpCompress (>= 0.39.0)
-
net9.0-windows10.0.19041
- DryIoc.dll (>= 5.4.3)
- kitUIN.CustomExtensions.WinUI (>= 0.6.4)
- Microsoft.Windows.SDK.BuildTools (>= 10.0.22621.756)
- Microsoft.WindowsAppSDK (>= 1.5.241107002)
- Serilog (>= 4.2.0)
- ShadowPluginLoader.SourceGenerator (>= 2.3.4)
- ShadowPluginLoader.Tool (>= 2.6.2)
- SharpCompress (>= 0.39.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ShadowPluginLoader.WinUI:
Package | Downloads |
---|---|
ShadowViewer.Core
✨ ShadowViewer Core | Development SDK✨ |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.6.4 | 107 | 5/9/2025 |
2.6.3 | 100 | 5/9/2025 |
2.6.2 | 115 | 5/9/2025 |
2.6.1 | 105 | 5/9/2025 |
2.6.0 | 115 | 5/9/2025 |
2.5.11.2 | 138 | 5/7/2025 |
2.5.10 | 102 | 4/19/2025 |
2.5.5 | 172 | 4/18/2025 |
2.5.4 | 223 | 4/17/2025 |
2.5.3 | 212 | 4/15/2025 |
2.5.2 | 194 | 4/15/2025 |
2.5.1 | 194 | 4/15/2025 |
2.4.13 | 204 | 4/14/2025 |
2.4.12 | 194 | 4/11/2025 |
2.4.11 | 233 | 4/8/2025 |
2.4.10 | 151 | 4/8/2025 |
2.4.8 | 159 | 4/8/2025 |
2.4.7 | 151 | 4/7/2025 |
2.4.6 | 162 | 4/7/2025 |
2.4.5 | 189 | 4/7/2025 |
2.4.4 | 151 | 4/7/2025 |
2.4.1 | 131 | 3/28/2025 |
2.3.0 | 141 | 3/27/2025 |
2.2.0 | 474 | 3/25/2025 |
2.1.3 | 165 | 3/22/2025 |
2.1.0 | 150 | 3/22/2025 |
2.0.6 | 102 | 3/21/2025 |
2.0.4 | 104 | 3/21/2025 |
1.6.4 | 147 | 3/20/2025 |
1.6.1 | 180 | 3/3/2025 |
1.5.17 | 126 | 2/21/2025 |
1.5.12 | 109 | 2/21/2025 |
1.5.11 | 105 | 2/21/2025 |
1.5.10 | 114 | 2/21/2025 |
1.5.9 | 108 | 2/7/2025 |
1.5.8 | 97 | 2/6/2025 |
1.5.7 | 95 | 1/24/2025 |
1.5.6 | 93 | 1/22/2025 |
1.5.5 | 97 | 1/21/2025 |
1.5.2 | 105 | 1/15/2025 |
1.4.3 | 142 | 12/26/2024 |
1.4.2 | 100 | 12/25/2024 |
1.4.0 | 92 | 12/25/2024 |
1.3.9 | 99 | 12/23/2024 |
1.3.8 | 108 | 12/20/2024 |
1.3.6 | 104 | 12/17/2024 |
1.3.3 | 114 | 11/23/2024 |
1.2.2 | 101 | 11/22/2024 |
1.0.9.4 | 88 | 7/31/2024 |
1.0.7.2 | 90 | 7/30/2024 |
1.0.6.2 | 135 | 7/4/2024 |
1.0.6.1 | 127 | 7/4/2024 |
1.0.4 | 134 | 4/28/2024 |
1.0.2 | 129 | 4/26/2024 |