☰
Orchard Core 开发环境搭建指南:编辑器、IDE 与实用工具详解
2026/9/28 20:19:49 网站建设 项目流程
  • 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.

项目地址:https://gitcode.com/gh_mirrors/or/OrchardCore
点击查看免费下载

开发 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 本地开发闭环如下:

  1. 编辑器:Windows 首选 Visual Studio(配合 Lombiq 扩展与代码片段),跨平台场景选 VS Code 或 Rider;
  2. 运行:使用dotnet run启动 OrchardCore.Cms.Web 示例站点,首次访问按向导完成站点安装(SQLite 为默认数据库);
  3. 调试数据:用 DB Browser for SQLite 打开App_Data/Sites/Default/yessql.db检查文档与索引数据;
  4. 邮件验证:启动 smtp4dev,在后台将 SMTP 指向本地监听端口,通过其 Web 界面检查发出的每封邮件;
  5. 配置排查:需要调整租户级行为时,直接编辑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.

项目地址:https://gitcode.com/gh_mirrors/or/OrchardCore
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询