关于 syncfusion-maui-licensing
这是一份管理 Syncfusion .NET MAUI 许可的参考技能,涵盖密钥生成、注册和错误排查。内容涉及平台与版本匹配、离线验证及 CI/CD 检查。
主要功能
- 01生成特定平台和版本的密钥
- 02在 MAUI 应用中注册密钥
- 03诊断常见许可错误
- 04配置 CI/CD 许可验证
- 05了解试用版与授权安装
- 06离线许可验证
适用场景
- 01为新的 MAUI 项目配置许可
- 02解决试用版或版本不匹配警告
- 03为 CI/CD 准备许可验证
- 04排查部署后的许可错误
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ maui-ui-components-skills --skill syncfusion-maui-licensing安装后在 Claude Code 中输入/syncfusion-maui-licensing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/license-generation.mdlicense-registration.mdlicensing-errors.mdlicensing-faq.mdlicensing-overview.md详细介绍
Syncfusion .NET MAUI 许可
全面介绍如何管理 Syncfusion .NET MAUI 许可,涵盖从生成到注册和故障排除的全过程。
何时使用此技能
遇到以下情况时,请立即使用此技能:
许可错误:
- 显示“This application was built using a trial version”消息
- 出现“The included Syncfusion license key is invalid”错误
- 许可验证失败
- 平台不匹配错误
- 版本不匹配错误
- 试用期已过期消息
许可密钥任务:
- 从 Syncfusion 帐户生成许可密钥
- 在应用程序中注册许可密钥
- 了解试用版与已授权安装版本之间的区别
- 区分解锁密钥与许可密钥
- 为构建服务器配置许可
- 设置 CI/CD 许可验证
常见场景:
- 使用 Syncfusion 组件进行应用初始设置
- 解决开发期间出现的许可警告
- 使用正确的许可部署应用程序
- 从试用版升级到已授权版本
- 管理多个项目的许可
- 排查“Could not load Syncfusion.Licensing.dll”错误
许可系统概览
从版本 20.2.0.x 开始,Syncfusion 引入了新的许可系统,适用于:
- 来自 nuget.org 的 NuGet 包
- 评估版安装程序
- 试用许可
要点:
- 许可密钥与版本和平台相关
- NuGet 包和试用版安装程序需要注册
- 已授权安装程序无需注册许可密钥
- 许可验证在离线状态下进行(无需联网)
- 许可密钥与安装程序解锁密钥不同
文档与导航指南
了解许可
**何时阅读:**首次设置、了解许可要求,或确认试用版与已授权安装版本之间的区别时。
📄 阅读:references/licensing-overview.md
- 许可系统简介(v20.2.0.x 的变更)
- 何时需要注册许可密钥
- 试用版与已授权安装版本之间的区别
- 解锁密钥与许可密钥的区别
- 构建服务器许可场景
- NuGet 包许可要求
- 版本和平台相关性
生成许可密钥
**何时阅读:**需要获取新的许可密钥、使用试用许可,或管理不同版本/平台的许可时。
📄 阅读:references/license-generation.md
- 访问“License & Downloads”部分
- 访问“Trial & Downloads”部分
- 使用“Claim License Key”功能
- 为有效许可生成密钥
- 为有效试用生成密钥
- 处理过期许可(临时 5 天密钥)
- 为 NuGet.org 用户设置帐户
- 生成特定平台和版本的密钥
注册许可密钥
**何时阅读:**需要在应用程序中注册许可密钥、选择注册位置,或实施正确的许可配置时。
📄 阅读:references/license-registration.md
- RegisterLicense() 方法语法
- 在 App.xaml.cs 构造函数中注册
- 在 MauiProgram.cs 中注册
- Syncfusion.Licensing.dll 引用要求
- 注册位置的最佳实践
- 多种注册场景
- 每种方法的完整代码示例
排查许可错误
**何时阅读:**遇到许可验证错误、试用期已过期消息、平台/版本不匹配或程序集加载问题时。
📄 阅读:references/licensing-errors.md
- 未注册许可密钥错误
- 无效密钥错误消息
- 试用期已过期错误
- 平台不匹配错误
- 版本不匹配错误
- “Could not load Syncfusion.Licensing.dll”问题
- 每种错误类型的解决方案
- 特定版本的错误变体
- 程序集的 Copy Local 配置
高级主题与常见问题
适用情形: 设置 CI/CD 流水线、以编程方式验证许可证、咨询离线部署问题,或从试用版升级时。
📄 阅读: references/licensing-faq.md
- CI/CD 许可证验证(Azure Pipelines、GitHub Actions、Jenkins)
- 用于编程检查的 ValidateLicense() 方法
- 许可证验证的单元测试
- Internet 连接要求(离线验证)
- 从试用版升级到授权版本
- NuGet.org 用户账号注册
- 获取许可证密钥的途径
- 常见问题解答
快速入门指南
步骤 1:生成许可证密钥
- 登录 Syncfusion 账号
- 前往 License & Downloads(授权版)或 Trial & Downloads(试用版)
- 为 .NET MAUI 平台和对应版本生成许可证密钥
- 复制生成的许可证密钥
步骤 2:注册许可证密钥
选择以下一种注册方式:
选项 A:在 App.xaml.cs 中注册
public App()
{
// Register Syncfusion license
string licenseKey = Environment.GetEnvironmentVariable("SYNCFUSION_LICENSE_KEY");
if (!string.IsNullOrEmpty(licenseKey))
{
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(licenseKey);
}
InitializeComponent();
MainPage = new AppShell();
}
选项 B:在 MauiProgram.cs 中注册
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
// Register the Syncfusion license key
string licenseKey = Environment.GetEnvironmentVariable("SYNCFUSION_LICENSE_KEY");
if (!string.IsNullOrEmpty(licenseKey))
{
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(licenseKey);
}
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureSyncfusionCore()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
步骤 3:验证注册
运行应用程序。若注册成功,您应该不会看到任何许可证警告消息。
常见模式
模式 1:新项目的初始设置
情景: 使用 NuGet 中的 Syncfusion 组件启动新的 .NET MAUI 项目。
步骤:
- 安装 Syncfusion NuGet 包
- 为 MAUI 平台和对应版本生成许可证密钥
- 在 MauiProgram.cs 中、ConfigureSyncfusionCore() 之前注册许可证密钥
- 确保已安装 Syncfusion.Licensing 包
- 构建并运行,以确认没有许可证警告
模式 2:解决“试用版”警告
情景: 应用程序显示“This application was built using a trial version”消息。
解决方案:
- 确认您拥有有效的许可证密钥(未过期)
- 检查许可证密钥的平台是否正确(MAUI)
- 检查许可证密钥的版本是否与您的包版本一致
- 在 InitializeComponent() 或 ConfigureSyncfusionCore() 之前注册许可证密钥
- 清理并重新构建应用程序
模式 3:版本不匹配错误
情景: 错误消息显示“included Syncfusion license ({Registered Version}) is invalid for version {Required version}”
解决方案:
- 检查 NuGet 包版本(所有包的版本应相同)
- 为您使用的确切版本生成新的许可证密钥
- 用新的许可证密钥替换旧密钥
- 清理解决方案并重新构建
模式 4:构建服务器 / CI/CD 设置
情景: 需要在持续集成期间验证许可证。
方法:
- 在 CI 流水线中使用 LicenseKeyValidator 实用工具
- 使用单元测试实现 ValidateLicense() 方法
- 配置许可证密钥的环境变量
- 验证失败时使构建失败
阅读: references/licensing-faq.md,了解详细的 CI/CD 设置说明。
模式 5:解决方案中的多个项目
情景: 解决方案中有多个使用 Syncfusion 组件的 MAUI 项目。
解决方案:
- 在每个项目的 App.xaml.cs 或 MauiProgram.cs 中注册许可证密钥
- 如果版本相同,所有项目使用相同的许可证密钥
- 确保所有项目都引用 Syncfusion.Licensing.dll
- 考虑使用共享常量保存许可证密钥字符串
关键概念
许可证密钥与解锁密钥
- 解锁密钥: 用于在安装期间解锁 Syncfusion 安装程序
- 许可证密钥: 使用 NuGet 包或试用版安装程序时,必须在应用程序代码中提供
- 二者用途不同,是不同的密钥
版本和平台特定性
许可证密钥绑定到:
- 平台: MAUI、WPF、Blazor 等(MAUI 应用使用 MAUI 许可证)
- 版本: Major.Minor.Patch(例如,26.2.4)
MAUI 26.2.4 许可证密钥不能用于:
- 不同平台(例如,Blazor)
- 不同版本(例如,26.1.0 或 27.0.0)
需要注册许可证的情况
需要:
- 来自 nuget.org 的 NuGet 包
- 试用版安装程序集
- 评估场景
不需要:
- 已授权的安装程序集(许可证已嵌入程序集)
离线验证
- 许可证验证会在应用运行期间离线进行
- 验证无需连接互联网
- 应用可以部署到无法访问互联网的系统
常见用例
用例 1:开发者首次设置
用户:“我刚通过 NuGet 安装了 Syncfusion MAUI 组件,现在收到了试用许可证警告。”
解决方案:
- 阅读 references/licensing-overview.md,了解许可证要求
- 阅读 references/license-generation.md,生成适用的密钥
- 阅读 references/license-registration.md,在应用中注册密钥
用例 2:部署问题
用户:“我的应用在开发环境中运行正常,但部署后却出现许可证错误。”
解决方案:
- 确认部署包中包含 Syncfusion.Licensing.dll
- 检查 Syncfusion 程序集的 Copy Local 是否设置为 True
- 阅读 references/licensing-errors.md,了解“Could not load”问题的排查方法
用例 3:从试用版升级为已授权版本
用户:“我购买了许可证,该如何移除试用版警告?”
解决方案:
- 阅读 references/licensing-faq.md 中的“从试用版升级”部分
- 生成新的已授权密钥(而不是试用密钥)
- 在 RegisterLicense() 调用中用已授权密钥替换试用密钥
- 清理并重新生成应用
用例 4:CI/CD 集成
用户:“如何在 Azure DevOps 流水线中验证许可证?”
解决方案: 阅读 references/licensing-faq.md,了解完整的 CI/CD 设置,包括:
- Azure Pipelines(YAML 和 Classic)
- GitHub Actions
- Jenkins
- 使用 ValidateLicense() 的单元测试方法
重要说明
- 始终在 App.xaml.cs 中调用 InitializeComponent() 之前,或在 MauiProgram.cs 中调用 ConfigureSyncfusionCore() 之前注册许可证密钥
- 妥善保管许可证密钥(不要提交到公开代码仓库)
- 项目中的所有 Syncfusion 包使用同一个许可证密钥
- 确保所有 Syncfusion 包的版本相同
- 许可证验证错误会在运行时显示,而不是在编译时显示