nopcommerce 4.1 net core 学习1
关注nop有2年多, 基本都是下载看看结构, 里面的多语言跟主题模板 插件加载 是我比较喜欢的。
最近看nop4.1版本已经全面替换成了asp.net core 2.1 +ef core2.1,所以专门写个博客记录心得。 不喜勿喷
Git下载地址:
文件结构一直都没有变,跟之前的都一样。
core 是核心,包含所有的数据类 domain文件夹。
为了更好的理解nop的一些运行机制跟结构,我打算新建一个新的nop项目来模仿nop.web 。
这个项目名称我叫做:Unions.Web

设置unions.web 为启动项目,并添加对应的nop引用, 主要是 nop.core nop.web.framework nop.services nop.data
为了方便,我们先把对应数据库配置都拷贝原本的web项目里面的 文件夹App_Data跟 appsettings.json。
接下去我们先替换掉nop.web里面的依赖注入跟路由配置。
先从nop.web 里面拷贝Infrastructure 文件夹 Factories 工厂文件夹 Extensions 扩展文件夹 Models 文件夹 Validators 文件夹并修改里面的nop.web 改成 Unions.Web
最好是每个文件夹的替换方式为 Nop.web+文件夹 去替换
然后点击生成 会报错:

admin的工厂方法我们还没用到,暂时也不会涉及到区域,就先把这些全部注释掉

好了,现在项目生成成功了。
接下来我们要开始运行首页配置。
nop用到autofac 依赖注入 跟验证, 它自己设置了路由规则跟配置
都是在 Infrastructure 文件夹里面
现在需要改造下 startup.cs里面的两个方法

可以直接从nop.web里面拷贝整个cs内容
很简单,nop把他封装起来了。 要记得先添加一个引用,nop是采用扩展方法的形式去写的
using Nop.Web.Framework.Infrastructure.Extensions;
拷贝之后是这样:

然后就是修改下nop本身的路由规则:

这个里面 GeneicUrlRouteProvider是负责生成对应的url 下面那个RouteProvider是配置路由规则

这些是可以全部注释掉,然后换成我们mvc自带的路由规则,设置启动页面还是 原生的mvc首页
routeBuilder.MapLocalizedRoute("HomePage", "",
new { controller = "Home", action = "Index" });
保留: 其他删掉,要是一开始不想安装数据库,就直接注释下图所示的安装中间件,然后运行F5 可以看到进入到我们自己的首页


nopcommerce 4.1 net core 学习1的更多相关文章
- EntityFramework Core 学习系列(一)Creating Model
EntityFramework Core 学习系列(一)Creating Model Getting Started 使用Command Line 来添加 Package dotnet add pa ...
- ASP.NET Core学习系列
.NET Core ASP.NET Core ASP.NET Core学习之一 入门简介 ASP.NET Core学习之二 菜鸟踩坑 ASP.NET Core学习之三 NLog日志 ASP.NET C ...
- Nancy in .Net Core学习笔记 - 初识Nancy
前言 去年11月份参加了青岛MVP线下活动,会上老MVP衣明志介绍了Nancy, 一直没有系统的学习一下,最近正好有空,就结合.NET Core学习总结了一下. 注: 本文中大部分内容都是对官网文档的 ...
- .NET CORE学习笔记系列(2)——依赖注入[7]: .NET Core DI框架[服务注册]
原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IS ...
- .NET CORE学习笔记系列(2)——依赖注入[6]: .NET Core DI框架[编程体验]
原文https://www.cnblogs.com/artech/p/net-core-di-06.html 毫不夸张地说,整个ASP.NET Core框架是建立在一个依赖注入框架之上的,它在应用启动 ...
- .NET CORE学习笔记系列(2)——依赖注入[5]: 创建一个简易版的DI框架[下篇]
为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的 ...
- .NET CORE学习笔记系列(2)——依赖注入[4]: 创建一个简易版的DI框架[上篇]
原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从 ...
- .NET CORE学习笔记系列(2)——依赖注入【3】依赖注入模式
原文:https://www.cnblogs.com/artech/p/net-core-di-03.html IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流 ...
- .NET CORE学习笔记系列(2)——依赖注入【2】基于IoC的设计模式
原文:https://www.cnblogs.com/artech/p/net-core-di-02.html 正如我们在<控制反转>提到过的,很多人将IoC理解为一种“面向对象的设计模式 ...
随机推荐
- 一、win+git安装
最近公司版本控制准备弃用svn,采用git.所以在个人系统安装玩了下,留点爪印... 1.下载最新的 git 包(根据电脑系统) 官网地址:https://git-scm.com/download/w ...
- 并发之ThreadLocal
ThreadLocal ThreadLocal 用一种存储变量与线程绑定的方式,在每个线程中用自己的 ThreadLocalMap 安全隔离变量,为解决多线程程序的并发问题提供了一种新的思路. 简 ...
- 雷林鹏分享:XML 语法规则
XML 语法规则 XML 的语法规则很简单,且很有逻辑.这些规则很容易学习,也很容易使用. 所有的 XML 元素都必须有一个关闭标签 在 HTML 中,某些元素不必有一个关闭标签: This is a ...
- 雷林鹏分享: C# 教程
C# 教程 C# 是一个简单的.现代的.通用的.面向对象的编程语言,它是由微软(Microsoft)开发的. 本教程将告诉您基础的 C# 编程,同时将向您讲解 C# 编程语言相关的各种先进理念. 现在 ...
- Using the G711 standard
Using the G711 standard Marc Sweetgall, 28 Jul 2006 4.74 (27 votes) 1 2 ...
- js滚动条如何缓慢的回到顶部?
function top() { let currentPosition, timer timer = setInterval(function () { currentPosition = docu ...
- 正睿 2018 提高组十连测 Day4 T3 碳
记'1'为+1,'0'为-1; 可以发现 pre[i],suf[i]分别为前/后缀和 a[i]=max(pre[l.....i]); b[i]=max(suf[i+1....r]); ans=max( ...
- 02 Vue之vue对象属性功能&axios数据请求实现
1.过滤器的声明和使用 过滤器,就是vue允许开发者自定义的文本格式化函数,可以使用在两个地方:输出内容和操作数据中. 定义过滤器的方式有两种. 1 使用Vue.filter()进行全局定义 2 在v ...
- Integer to English words leetcode java
问题描述: Convert a non-negative integer to its english words representation. Given input is guaranteed ...
- 有用的git命令
1. git log -p // 查看log的详细信息 2. git reset HEAD xxxx // 将文件从stage状态拉出来 3. git checkout -- xxxx // 将修改的 ...