首页
/ DNN Platform v10.0.0 重大版本发布解析

DNN Platform v10.0.0 重大版本发布解析

2025-07-05 18:34:52作者:尤辰城Agatha

DNN Platform(原DotNetNuke)是一个基于.NET的开源内容管理系统,它提供了强大的网站构建和管理功能。最新发布的v10.0.0版本是一个重大更新,带来了多项突破性改进和新特性。

核心架构升级

本次版本最显著的变化是全面升级了底层技术栈:

  1. .NET框架升级:从.NET 4.7.2迁移到.NET 4.8,提升了整体性能和安全性
  2. 依赖注入全面支持:现在可以在WebForms控件、模块注入过滤器、图像转换等更多场景中使用依赖注入
  3. 强制移除Telerik:彻底移除了旧版Telerik库,开发者需要使用现代UI组件
  4. SQL Server支持:最低要求提升至SQL Server 2017(14.x)

主要新特性

1. 全新的样式系统

DNN 10引入了革命性的样式管理系统:

  • 站点所有者可以通过UI直接管理品牌风格偏好
  • 开发者可通过PortalSettings.GetStyles()获取服务器端样式
  • 客户端使用CSS变量(自定义属性),所有变量均以--dnn前缀命名
  • 新增了专门的样式管理模块

2. 现代化默认主题"Aperture"

取代了旧版主题,Aperture具有以下特点:

  • 完全基于新的样式系统构建
  • 响应式设计优化
  • 丰富的实用工具类
  • 改进的移动菜单体验
  • 平滑滚动效果
  • 更新的默认网站模板

3. API令牌支持

新增了API令牌功能,为开发者提供:

  • 更安全的API访问控制
  • 细粒度的权限管理
  • 简化的身份验证流程

4. 多语言增强

  • 站点地图现在为多语言网站生成备用链接
  • 改进了角色名称的本地化处理方式

开发者体验改进

DNN 10为开发者带来了多项便利:

  1. 模块打包:现在可以在单个包中包含多个模块
  2. 事件系统:新增了RoleUpdated事件支持
  3. JWT集成:默认包含JWT身份验证支持
  4. 内容工作流:HTML模块现在使用新的内容工作流API
  5. 权限系统:提供了更详细的权限控制选项

重要变更与兼容性说明

升级到DNN 10需要注意以下关键变更:

  1. 移除废弃API:所有在v8及之前标记为废弃的API已被移除
  2. IE相关功能:移除了WebSlices支持
  3. 安装要求:默认安装CodeDOM提供程序,某些托管环境可能需要调整
  4. 内容工作流:升级前需提交或放弃HTML模块中未批准的内容变更
  5. 本地化站点:目前发现本地化站点升级存在问题,建议暂缓升级

性能与稳定性改进

  • 解决了StackOverflowException问题
  • 修复了DDRMenu处理重复页面名称的问题
  • 改进了AdvancedPermissionProvider防止IndexOutOfRangeException
  • 优化了安装日志显示机制
  • 提升了SQL脚本升级的可靠性

依赖项更新

DNN 10更新了多个关键依赖库:

  • Log4Net升级至v2.1.0
  • MailKit从2.15.0升级到4.0.0
  • SharpZipLib从1.3.3升级到1.4.2
  • System.IdentityModel.Tokens.Jwt替换为现代版本
  • 多个Microsoft相关库更新至最新稳定版

总结

DNN Platform v10.0.0是一个里程碑版本,它通过现代化的样式系统、全新的默认主题、增强的开发者工具和强化的安全特性,为网站建设者和开发者提供了更强大、更灵活的平台基础。虽然升级过程需要注意一些兼容性问题,但这些改进为未来的发展奠定了坚实基础。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
472
3.49 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
719
173
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
213
86
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.27 K
696
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1