参考

Abp vNext框架 从空项目开始 使用ASP.NET Core Web Application

http://www.vnfan.com/helinbin/d/745b1e040c9b4f62.html

rynowak的回答

https://github.com/aspnet/AspNetCore/issues/9542

Migrate from ASP.NET Core 2.2 to 3.0 -> Use MVC without Endpoint Routing

https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio

startup

https://github.com/aspnet/AspNetCore/blob/master/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Startup.cs#L105

ASP.NET Core 2.0 : 七.一张图看透启动背后的秘密

https://www.cnblogs.com/FlyLolo/p/ASPNETCore2_7.html

本人测试环境

vs2019

.net core3.0

库版本

Volo.Abp.AspNetCore.Mvc  1.02

Volo.Abp.Autofac 1.02

步骤:

参考上文, 可建立一个helloworld工程.

说明:

vs2019建立工程可能有些许差别, 但原理基本一致.

遇到问题:

1.原文使用的库在本人测试时已经有所升级(abp团队已从.net core2.2升级为3.0), AppModule类中app.UseMvcWithDefaultRoute();报异常:

  Using 'UseMvc' to configure MVC is not supported while using Endpoint Routing. To continue using 'UseMvc', please set 'MvcOptions.EnableEndpointRounting = false' inside 'ConfigureServices'.

解决方法:

  a.注释该行代码;

  b.修改startup.cs

  1. public class Startup
  2. {
  3. public void ConfigureServices(IServiceCollection services)
  4. {
  5. services.AddApplication<AppModule>();
  6. //添加
  7. services.AddMvc(option => option.EnableEndpointRouting = false);
  8. }
  9.  
  10. public void Configure(IApplicationBuilder app)
  11. {
  12. app.InitializeApplication();
  13. //添加
  14. app.UseRouting();
  15. app.UseEndpoints(endpoints =>
  16. {
  17. endpoints.MapControllerRoute(
  18. name: "default",
  19. pattern: "{controller}/{action=Index}/{id?}");
  20. });
  21. }
  22. }

运行,解决.

其他:

随着升级, autofac的使用也变的简单, 引入库之后, 直接在Program.cs的CreateHostBuilder方法中直接添加.UserAutofac()即可

  1. public class Program
  2. {
  3. public static void Main(string[] args)
  4. {
  5. CreateHostBuilder(args).Build().Run();
  6. }
  7.  
  8. public static IHostBuilder CreateHostBuilder(string[] args) =>
  9. Host.CreateDefaultBuilder(args)
  10. .ConfigureWebHostDefaults(webBuilder =>
  11. {
  12. webBuilder.UseStartup<Startup>();
  13. })
              //添加
  14. .UseAutofac();
  15. }

Abp vNext框架 从空项目开始 使用ASP.NET Core Web Application-笔记的更多相关文章

  1. 利用代码生成工具Database2Sharp生成ABP VNext框架项目代码

    我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则 ...

  2. ASP.NET Core Web多语言项目

    公司效益好了,准备和国外做生意,这个时候就需要多语言了. > 1. 这是一个ASP.NET Core Web多语言项目,主要展示项目的不同: > 2. 第一种:www.xxx.com/en ...

  3. Abp vNext框架 实例程序BookStore-笔记

    参考 Abp vNext框架 应用程序开发教程 创建项目和书籍列表页面 http://www.vnfan.com/helinbin/d/3579c6e90e1d23ab.html 官方源码 https ...

  4. ABP VNext框架基础知识介绍(1)--框架基础类继承关系

    在我较早的时候,就开始研究和介绍ABP框架,ABP框架相对一些其他的框架,它整合了很多.net core的新技术和相关应用场景,虽然最早开始ABP框架是基于.net framework,后来也全部转向 ...

  5. ABP VNext框架基础知识介绍(2)--微服务的网关

    ABP VNext框架如果不考虑在微服务上的应用,也就是开发单体应用解决方案,虽然也是模块化开发,但其集成使用的难度会降低一个层级,不过ABP VNext和ABP框架一样,基础内容都会设计很多内容,如 ...

  6. ABP VNext框架中Winform终端的开发和客户端授权信息的处理

    在ABP VNext框架中,即使在它提供的所有案例中,都没有涉及到Winform程序的案例介绍,不过微服务解决方案中提供了一个控制台的程序供了解其IDS4的调用和处理,由于我开发过很多Winform项 ...

  7. 在ABP VNext框架中对HttpApi模块的控制器进行基类封装

    在ABP VNext框架中,HttpApi项目是我们作为Restful格式的控制器对象的封装项目,但往往很多案例都是简单的继承基类控制器AbpControllerBase,而需要在每个控制器里面重写很 ...

  8. 在ABP VNext框架中处理和用户相关的多对多的关系

    前面介绍了一些ABP VNext架构上的内容,随着内容的细化,我们会发现ABP VNext框架中的Entity Framework处理表之间的引用关系还是比较麻烦的,一不小心就容易出错了,本篇随笔介绍 ...

  9. ASP.NET Core 新建项目 - macOS 环境 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 新建项目 - macOS 环境 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新建项目 - macOS 环境 对于任何语言和 ...

随机推荐

  1. Python Django 支付宝 扫码支付

    安装python-alipay-sdk pip install python-alipay-sdk --upgradepip install crypto 如果是python 2.7安装0.6.4这个 ...

  2. FreeRTOS操作系统教程发布,支持F103,F407和F429,配套145个例子,1200页教程

    前言说明:1. 首先感谢大家对我们安富莱电子的支持. 2. FreeRTOS最大的优势就是开源免费,商业使用的话不需要用户公开源代码,也不存在任何版权问题,是当前小型嵌入式操作系统   市场使用率最高 ...

  3. Java基础(七)

    左连接,右连接,内连接,全连接的区别 左连接:返回左表所有行,右表没有匹配行则返回null 右连接:返回右表所有行,左表没有匹配行则返回null 内连接:返回左右表共有行 全连接:返回左右表所有行,无 ...

  4. Python实战——基于股票的金融数据量化分析

    说明:本文只是通过自己的已学知识对股票数据进行了一个简单的量化分析,只考虑了收盘情况,真实的量化交易中仅仅考虑收盘情况是不够的,还有很多的复杂因素,而且仅仅三年数据是不足以来指导真实的股票交易的,因此 ...

  5. 为什么 JavaScript 中 0.1+0.2 不等于 0.3 ?

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/2kea7-jACCJmSYBQAwXyIg作者:刘洋 在 js 中进行数学的运算时,会出现0. ...

  6. PHP ThinkPHP 非常好用的增删改查方法

    获取列表数据(多条) /*** 获取页面列表* @param $params //查询条件 例:['id'=>['in','1,2']] ['status'=>1]* @param arr ...

  7. PAT 1003 Emergency 最短路

    As an emergency rescue team leader of a city, you are given a special map of your country. The map s ...

  8. C#二位数组 数组矩阵对角线之和

    二维数组: public static void Main(string[] args) { int[,] a = new int[3, 3]; Random rom = new Random(); ...

  9. javaWeb核心技术第八篇之Cookie和Session

    会话技术: 会话是什么? 浏览器和服务器交互,浏览器打开网页访问服务器,会话开始,正常交互. 浏览器关闭,会话结束. 会话能干什么? 会话可以共享数据. Cookie和session将数据保存在不同的 ...

  10. Vue中通过Vue.extend动态创建实例

    Vue中通过Vue.extend动态创建实例 在Vue中,如果我们想要动态地来控制一个组件的显示和隐藏,比如通过点击按钮显示一个对话框或者弹出一条信息.我们通常会提前写好这个组件,然后通过v-if = ...