XiHan.Framework.Plugins.InProcess 5.0.0-preview.2

Prefix Reserved
This is a prerelease version of XiHan.Framework.Plugins.InProcess.
dotnet add package XiHan.Framework.Plugins.InProcess --version 5.0.0-preview.2
                    
NuGet\Install-Package XiHan.Framework.Plugins.InProcess -Version 5.0.0-preview.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XiHan.Framework.Plugins.InProcess" Version="5.0.0-preview.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="XiHan.Framework.Plugins.InProcess" Version="5.0.0-preview.2" />
                    
Directory.Packages.props
<PackageReference Include="XiHan.Framework.Plugins.InProcess" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add XiHan.Framework.Plugins.InProcess --version 5.0.0-preview.2
                    
#r "nuget: XiHan.Framework.Plugins.InProcess, 5.0.0-preview.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package XiHan.Framework.Plugins.InProcess@5.0.0-preview.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=XiHan.Framework.Plugins.InProcess&version=5.0.0-preview.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=XiHan.Framework.Plugins.InProcess&version=5.0.0-preview.2&prerelease
                    
Install as a Cake Tool

XiHan.Framework.Plugins.InProcess

关于

XiHan.Framework.Plugins.InProcess 进程内插件宿主:从目录读取 xihan.manifest.json,用可收集的 AssemblyLoadContext 加载受信任的 .NET 插件程序集,为每个插件建立隔离的服务容器,负责启动、停止、卸载与状态上报。不适用于 Native AOT 应用。

主要特性

  • 插件的私有依赖隔离在自己的加载上下文,框架类型与宿主共享
  • 加载前核对清单权限,失败以 Result 返回、不抛到宿主
  • 进程内插件不能贡献中间件,需要时用 Wasm 插件

如何使用

安装

dotnet add package XiHan.Framework.Plugins.InProcess --prerelease

使用

本包没有特性入口:应用注册消息目录后直接创建 InProcessPluginHost 加载插件。

builder.Services.AddMessageCatalog(MessageCatalog.FromEmbeddedResources("plugins", typeof(PluginMessages)));

await using var host = new InProcessPluginHost(configuration, loggerFactory);
var loaded = await host.LoadAsync(new PluginSource("plugins/report", PermissionGrant.Empty), ct);
var unloaded = await host.UnloadAsync("xihan.reports.plugin", ct);

主要类型

此库提供的主要类型:

  • InProcessPluginHost:LoadAsync、UnloadAsync、Plugins
  • PluginErrors、PluginMessages:错误码与消息键
  • IPlugin、PluginContext、PluginSource、PermissionGrant:来自 Kernel,插件契约与授予的权限

更多文档

相关包

反馈与贡献

XiHan.Framework.Plugins.InProcess 以 MIT 许可证 开源。欢迎到 GitHub 仓库 提交问题和贡献。

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.0-preview.2 0 11/6/2026
5.0.0-preview.1 37 11/4/2026