当前位置:首页 > 技术积累 > 正文内容

【Orchard Core从零开始】(1)VS中手动创建CMS项目

竹林之风4个月前 (12-15)技术积累1101

        Orchard Core包含两种不同类型的目的:

  • Orchard Core Framework:基于ASP.NET Core的、构建模块化和多租户的应用程序框架,旨在开发SaaS应用,托管DLL名为OrchardCore.Application.Cms.Core.Targets。

  • Orchard Core CMS:基于Orchard Core Framework开发的完整网站内容管理系统(CMS),托管DLL名为OrchardCore.Application.Cms.Targets。

        其中Orchard Core Framework(OrchardCore.Application.Cms.Core.Targets)不包含任何前台主题,只包含TheAdmin主题和Blank site、Headless site两个配方,仅用于以下情形:

  • 开发Decoupled CMS;

  • 开发Headless CMS;

  • 从零开发一个带主题的站点。

        而Orchard Core CMS(OrchardCore.Application.Cms.Targets)包含3种不同的建站策略:

  • Full CMS:该模式使用一个主题和多个模板来渲染内容,主要面向创建一个几乎不需要开发的、包含前后台的完整CMS系统。

  • Decoupled CMS:该模式默认无前台模板,仅包含后台。需要使用Razor Pages或MVC Actions创建所有前台模板,并使用内容服务获取具体内容。

  • Headless CMS. 该模式仅含管理内容的后台,需要创建另一个独立的前台应用,并使用GraphQL或者REST APIs获取所有托管内容。

        本文以引用OrchardCore.Application.Cms.Targets创建一个CMS为例。

1、在VS中新建一个ASP.NET Core Empty项目:

1.png

2、为项目取一个名称:

2.png

        取消勾选“Place solution and project in the same directory”是为了后续创建模块或主题时放在各自的子目录中。

3、右键单击项目名称,选择“Manage NuGet Packages...”打开Nuget Package Manager添加“OrchardCore.Application.Cms.Targets”。

1.png

4、修改Program.cs

(1)若有以下代码先去掉:

builder.Services.AddRazorPages();
app.MapGet("/", () => "Hello World!");

        添加以下代码:

builder.Services.AddOrchardCms();

(2)若有以下代码也去掉:

app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();

        添加以下代码:

app.UseOrchardCore();

5、F5运行,浏览器打开。

1.png

        选择相应的配方(Recipe)则启用对应的建站策略:

  • Orchard Core Framework:Software as a Service;

  • Full CMS:Agency、Blog、Coming Soon;

  • Decoupled CMS:Blank site;

  • Headless CMS:Headless site。

        参考资料:https://docs.orchardcore.net/


扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/380.html

标签: Orchard Core
分享给朋友:

“【Orchard Core从零开始】(1)VS中手动创建CMS项目” 的相关文章

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

        ASP.NET Core网站报“An assembly specified in the application dependencies ma...

ASP.NET MVC WebApi控制器方法使用async假死超时问题

ASP.NET MVC WebApi控制器方法使用async假死超时问题

        在一个ASP.NET MVC WebApi控制器方法中使用async标记为异步方法后,有时会假死超时。根本原因是同步方法和异步方法混合造成的死锁...

使用Nginx实现简单密码认证

使用Nginx实现简单密码认证

        假设一个网站没有实现登录认证功能,我们要临时增加一个简单的账号密码认证,可以使用Nginx来实现该功能。  server&n...

实现内网穿透的几种方式

实现内网穿透的几种方式

        大部分普通电脑对外都没有固定的公网IP、或处于NAT网络内,要从局域网外直接访问该电脑,需要借助第三方工具。一、有一台公网固定IP服务器的情况1、Nginx&nbs...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。