We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
Applies to PCL N Plugin SDK 0.2.4.
SDK 0.2.4
0.2.4
PCL N 桌面应用 └─ PCL.Plugin(私有、特权 Host) ├─ 验证并安装 .pnp ├─ 提供稳定服务与 UI Surface ├─ 管理依赖、生命周期、安全模式和卸载 └─ 共享 PCL.N.Plugin.Abstractions ABI └─ 第三方插件(独立可卸载 AssemblyLoadContext)
PCL.Plugin 私有不影响开发:它实现公开接口,但内部类型、目录结构和服务容器可以自由重构。插件只面对稳定契约。
PCL.Plugin
PCL.Application
PCL.Desktop
对应 Analyzer PNPSDK001–003 和 PNPSDK006 会在编译期提示。
IPluginContext
IPluginService
PluginInstanceInfo
context.Directories
每个插件使用可回收的 AssemblyLoadContext:
runtimes/<rid>/native/
隔离加载上下文不是安全沙箱。进程内插件仍能调用 .NET 和操作系统 API,因此签名、权限、审核和用户信任都不可省略。
直接操作 Avalonia Visual Tree 会把插件绑定到控件实现。Surface/Slot 把契约缩小为稳定 ID 和版本范围,AXAML 只描述视觉内容,行为通过命令连接。这样宿主可以验证权限、解决冲突、应用安全模式并在卸载时撤销贡献。