- CMS
- 后端
- Web框架
【免费下载链接】OrchardCore
Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework.
开发 Orchard Core 应用或直接参与 Orchard Core 框架本身的开发,本质上只需要一个能编辑源码、能执行构建的 .NET 工具链——因为 Orchard Core 构建在 ASP.NET Core 之上,而 .NET Core 是跨平台的,所以理论上任何平台、任何编辑器都可以胜任。本篇指南基于 Orchard Core 官方《Development Tools》文档,系统梳理推荐的编辑器与 IDE 选型、SQLite 数据库浏览工具和本地 SMTP 邮件测试工具,并结合当前仓库源码,深入解释App_Data/Sites目录结构与 SMTP 配置的真实加载机制,帮助你快速搭建一套高效、可调试的开发环境。
选型原则:一切以「能编辑、能构建」为底线
官方文档对开发工具的态度非常务实:最终取决于个人偏好。只要满足两个基本条件——能够编辑源文件、能够构建应用——任何工具、任何操作系统都可以使用。这意味着:
- Windows 上你可以选择 Visual Studio 或 JetBrains Rider;
- macOS / Linux 上你可以选择 Visual Studio Code 或 JetBrains Rider;
- 甚至使用命令行编辑器配合
dotnet build/dotnet run也完全可行。
Orchard Core 的源码仓库本身即提供了OrchardCore.slnx解决方案文件和多个可直接运行的示例应用(如 OrchardCore.Cms.Web),克隆仓库后打开解决方案即可开始探索。
编辑器与 IDE 推荐
Visual Studio:Windows 下 .NET 开发者的首选
Visual Studio 是 .NET 开发者最熟悉的集成开发环境,功能丰富,且提供免费社区版。官方文档建议从 Visual Studio 官网下载**任意版本(含免费版)**的最新安装包。
围绕 Orchard 开发,官方还推荐了两个可选增强项:
- Lombiq Orchard Visual Studio 扩展:为 Visual Studio 增加针对 Orchard 开发的实用工具,例如错误日志监视器(error log watcher)和依赖注入器(dependency injector),可显著提升调试模块与主题时的效率。
- Orchard Dojo Library 代码片段:提供模块与主题开发中常见场景的代码模板,可快速生成样板代码(如新建驱动、服务注册等)。
此外,Orchard Dojo Library 中还收录了更多关于 Visual Studio 使用的扩展建议与技巧,可作为持续参考。
Visual Studio Code:免费跨平台的轻量之选
Visual Studio Code 是免费、跨平台的代码编辑器,适合偏好轻量编辑体验或使用 macOS / Linux 的开发者。配合 C# 扩展(OmniSharp / Roslyn 语言服务)即可获得智能提示、调试与重构能力,足以支撑 Orchard Core 的日常开发。
JetBrains Rider:功能完整的跨平台 IDE
JetBrains Rider 是功能完整的跨平台 .NET IDE,提供 30 天免费试用。其重构、导航、调试能力与 Visual Studio 相当,且不绑定 Windows 平台,是跨平台团队的一个有力选项。
实用工具一:DB Browser for SQLite —— 浏览yessql.db数据库
Orchard Core 使用 YesSql 作为 ORM,基于 SQLite 时会将站点数据写入yessql.db文件。DB Browser for SQLite是一个免费开源的 SQLite 数据库图形化工具,官方文档推荐用它来浏览 Orchard 运行产生的数据库文件。
数据库文件在哪里?
官方文档明确指出:在App_Data/Sites下的各租户文件夹中,即App_Data/Sites/{租户名}/yessql.db。这一路径约定在源码中有多处直接印证:
- ShellOptionConstants.cs 定义了三个关键常量:环境变量
ORCHARD_APP_DATA、默认数据目录App_Data、默认站点目录Sites; - ShellOptionsSetup.cs 中,数据目录的解析逻辑为:优先读取环境变量
ORCHARD_APP_DATA,若未设置则回退到内容根目录下的App_Data,站点容器名固定为Sites。因此可通过设置ORCHARD_APP_DATA环境变量改变数据存放位置; - ShellSettings.cs 的类注释则完整说明了租户配置的存放约定:所有租户的默认配置集中在
App_Data/tenants.json,而每个租户的独立配置位于App_Data/Sites/{tenant}/appsettings.json; - 数据存储服务的注册入口位于 ShellOrchardCoreBuilderExtensions.cs,其中
AddSitesFolder负责注册从文件系统加载站点配置的宿主级服务。
用 DB Browser 能做什么?
用 DB Browser for SQLite 打开某个租户目录下的yessql.db后,你可以:
- 浏览全部数据表(如文档表、索引表);
- 执行自定义 SQL 查询,排查数据问题;
- 以格式化方式查看 JSON 文档内容——Orchard Core 将内容项以 JSON 文档形式存储,格式化查看对调试内容模型非常有用。
# 一个典型的本地多租户数据目录结构 App_Data/ ├── tenants.json # 全部租户的默认配置 └── Sites/ ├── Default/ │ ├── appsettings.json # Default 租户的独立配置 │ └── yessql.db # Default 租户的 SQLite 数据库 └── my-tenant/ ├── appsettings.json └── yessql.db租户配置的加载细节可进一步查看 ShellConfigurationSources.cs:框架会为每个租户尝试加载App_Data/Sites/{租户名}/appsettings.json(可选文件),并在保存时写入该路径。理解这一点,你就能在部署环境中准确找到每个租户的数据库与配置文件。
实用工具二:smtp4dev —— 本地 SMTP 邮件测试服务器
开发阶段需要测试邮件发送(如注册确认、密码重置、通知邮件)时,直接连真实 SMTP 服务器既繁琐又有污染真实收件箱的风险。smtp4dev是一个小巧的本地 SMTP 服务器,专门用于拦截和处理测试邮件。
安装与启动
smtp4dev 可通过 .NET 全局工具一键安装:
dotnet tool install --global dotnet-smtp4dev dotnet-smtp4dev启动后它会在本地监听一个 SMTP 端口,并提供一个Web 界面,你可以在浏览器中浏览所有被拦截的邮件内容(正文、收件人、附件等),无需真实邮箱即可验证邮件功能是否正常。
如何让 Orchard Core 使用 smtp4dev?
在 Orchard Core 的管理后台中将 SMTP 服务器配置为 smtp4dev 的监听地址(通常是localhost及其端口)即可。这与源码中 SMTP 选项的加载机制完全对应:
- SmtpOptionsConfiguration.cs 负责从站点设置中读取
DefaultSender、DeliveryMethod、Host、Port、ProxyHost、EncryptionMethod、RequireCredentials、UserName/Password等全部 SMTP 选项; - SmtpSettingsViewModel.cs 展示了这些字段的管理后台视图模型,其中
Port默认值为25,DeliveryMethod默认走Network发送模式。
此外,SMTP 也支持配置层面的静态设置。仓库自带的示例应用配置 src/OrchardCore.Cms.Web/appsettings.json 中给出了完整的OrchardCore_Email_Smtp配置节模板,可直接参考:
"OrchardCore_Email_Smtp": { "DefaultSender": "", "DeliveryMethod": "Network", "PickupDirectoryLocationBase": "{{ AppData }}\\Sites\\{{ ShellSettings.Name }}\\Emails", "PickupDirectoryLocation": "/", "Host": "localhost", "Port": 25, "EncryptionMethod": "SslTls", "AutoSelectEncryption": false, "UseDefaultCredentials": false, "RequireCredentials": true, "Username": "", "Password": "" }其中PickupDirectoryLocationBase的默认模板{{ AppData }}\Sites\{{ ShellSettings.Name }}\Emails定义在 SmtpPickupDirectoryResolver.cs 中,支持通过 Fluid 模板引用应用数据目录与租户名——这与前文App_Data/Sites/{租户名}的目录约定一脉相承。本地联调时,将Host指向 smtp4dev 监听地址、关闭加密校验即可快速验证邮件链路。
从「工具」到「工作流」:推荐的本地开发闭环
综合官方文档与仓库结构,一个典型的 Orchard Core 本地开发闭环如下:
- 编辑器:Windows 首选 Visual Studio(配合 Lombiq 扩展与代码片段),跨平台场景选 VS Code 或 Rider;
- 运行:使用
dotnet run启动 OrchardCore.Cms.Web 示例站点,首次访问按向导完成站点安装(SQLite 为默认数据库); - 调试数据:用 DB Browser for SQLite 打开
App_Data/Sites/Default/yessql.db检查文档与索引数据; - 邮件验证:启动 smtp4dev,在后台将 SMTP 指向本地监听端口,通过其 Web 界面检查发出的每封邮件;
- 配置排查:需要调整租户级行为时,直接编辑
App_Data/Sites/{租户名}/appsettings.json,其加载逻辑参见 ShellConfigurationSources.cs。
关于站点安装与首次体验的完整流程,可继续阅读仓库内文档 test-drive-orchard-core.md;若想快速用模板初始化自己的应用,可参考 templates 目录下的项目模板说明。
- CMS
- 后端
- Web框架
【免费下载链接】OrchardCore
Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework.
相关推荐
Mu编辑器开发环境搭建指南
Mu编辑器开发环境搭建指南 前言 Mu是一款专为教育场景设计的Python代码编辑器,特别适合初学者使用。本文将详细介绍如何搭建Mu编辑器的开发环境,帮助开发者
代码编辑器教育Pony IDE配置与开发环境搭建:VSCode、Vim等编辑器支持
Pony IDE配置与开发环境搭建:VSCode、Vim等编辑器支持 Pony是一种开源、基于Actor模型、具备能力安全性的高性能编程语言。对于想要学习Pon
编程语言编译器语言运行时Gutenberg 块开发环境搭建指南:代码编辑器、Node.js 工具链与本地 WordPress 环境
Gutenberg 块开发环境搭建指南:代码编辑器、Node.js 工具链与本地 WordPress 环境 本文是 Gutenberg(WordPress 块编
后端前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考