用ABP Suite创建Blazor Server的应用程序
这个应用程序我们取名为BlazorOne,意思是集AuthServer、HttpApi Host和Blazor Server3个功能于一体的应用程序。因为ABP Suite支持另外一种模式,是把上述3个功能独立部署。为了由浅入深的介绍ABP的模块化开发,我们先完成BlazorOne吧!
# 1、

# 2、我们的解决方案名字叫Study.BlazorOne,其它信息如下图。滚动条未显示的区域都不需要改动。

# 3、上图点OK后

# 4、下图中点“yes”,自动创建数据库并且添加种子数据。

# 5、完成后,数据库中多了一个BlazorOne“。并且EntityFrameworkCore完成了第一次迁移/更新。

因为ABP自动在EntityFrameworkCore的项目上运行了命令,生成了下述迁移文件,并且调用了dotnet ef的database update方法,生成了上述数据库:

# 6、尝试启动Blazor Server程序吧
先修改Web的承载方式

然后直接强势启动一下

# 7、接受浏览器的SSL证书警告

# 8、可能得到的是错误的页面,也可能一次成功。我得到的是错误的页面

# 9、在Blazor项目上运行abp install-libs这个命令就可以修复错误


# 10、再次运行后,错误依旧。
这时我们应该注意到,上述界面上的警告YARN is not installed, which may cause package inconsistency, please use YARN instead of NPM. visit https://classic.yarnpkg.com/lang/en/docs/install/ and install YARN
# 11、安装YARN,然后再次执行abp install-libs
根据上述提示,打开网页https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable
页面如下:

那我们就在Visual Studio的“开发者PowerShell”那里执行上述命令

再执行一次abp install-libs

# 12、在Visual Studio里检查一下,发现报错缺少的文件,已经自动出现了。

# 12、再次启动程序,顺利打开界面。

# 13、如果折腾abp install-libs的时候,执行之后始终缺少文件,那就是2个原因:
1)需要删除yarn.lock

2)ABP的版本变了,导致NuGet的包的版本也变化很大,package.json文件的内容需要更新。更新的办法,就是用正确的ABP Suite创建一个新的模板,从这个模板的对应项目下拷贝package.json的内容来即可。比如7.2.2的Blazor Server类型的项目的package.json文件内容是这样的:
{
"version": "1.0.0",
"name": "my-app",
"private": true,
"dependencies": {
"@volo/abp.aspnetcore.mvc.ui.theme.leptonx": "~2.2.0-rc.1",
"@volo/aspnetcore.components.server.leptonxtheme": "~2.2.0-rc.1",
"@volo/cms-kit-pro.admin": "~7.2.2",
"@volo/account": "~7.2.2",
"@volo/language-management": "~7.2.2"
}
}
这篇文章就到这里。
用ABP Suite创建Blazor Server的应用程序的更多相关文章
- Blazor Server 和 WebAssembly 应用程序入门指南
翻译自 Waqas Anwar 2021年3月12日的文章 <A Beginner's Guide To Blazor Server and WebAssembly Applications&g ...
- Spring Tool Suite 创建 SpringMVC+Maven 项目(一)!
使用Spring Tool Suite 创建 SpringMVC Web 项目,使用Maven来管理依赖! 首先对环境进行必要的配置 1. 配置必要的Java JDK版本! (菜单栏-窗口-首选项.) ...
- 使用Blazor Server 线路处理程序 (circuit handler)跟踪打开的SignalR连接
Blazor服务器允许定义线路处理程序(circuit handler)代码,该处理程序(handler)允许在更改用户线路状态时运行此代码. 线路处理程序(circuit handler)是通过从C ...
- 在Blazor Server 项目中使用 EF Core Sqlite
按照教程创建了一个 Blazor Server 项目 教程地址: https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/build-a-blaz ...
- Blazor Server 应用程序中进行 HTTP 请求
翻译自 Waqas Anwar 2021年5月4日的文章 <Making HTTP Requests in Blazor Server Apps> [1] Blazor Server 应用 ...
- 从零开始Blazor Server(1)--项目搭建
项目介绍 本次项目准备搭建一个使用Furion框架,Blazor的UI使用BootstrapBlazor.数据库ORM使用Freesql的后台管理系统. 目前的规划是实现简单的注册,登录.增加管理员跟 ...
- 从零开始Blazor Server(3)--添加cookie授权
认证方式简述 Blazor Server微软官方还是推荐直接使用Cookie授权,因为本来Blazor Server就是前后端不分离的.不存在Cookie跨域等一系列问题. 只要不是使用SSO之类的统 ...
- Blazor Server完美实现Cookie Authorization and Authentication
Blazor server-side application用Microsoft.AspNetCore.Identity.EntityFrameworkCore实现Authorization 和 Au ...
- [SDK2.2]Windows Azure Virtual Network (3) 创建AD Server并添加至Virtual Network
<Windows Azure Platform 系列文章目录> 在之前的文章中,笔者已经向大家介绍了如何创建一个简单的Azure Virtual Network. 本章我将创建一台域服务器 ...
- 创建link server链接服务器碰到的问题及解决办法
问题描述 今天在做数据库迁移,然后新建link server(链接服务器)的时候,碰到以下问题. 我的sql 脚本是这样的. 然后,执行的时候就收到以下错误信息. Msg 468, Level 16, ...
随机推荐
- SPECJVM2008的简单结果
SPECJVM2008的简单结果 摘要 前面两天学习了SPECJVM2008简单使用. 今天进行一下简单的数据采集. 需要说明一下SPECJVM2008貌似仅兼容JDK1.8 更新的LTS版本都不兼容 ...
- [转帖]讨论在 Linux Control Groups 中运行 Java 应用程序的暂停问题原创
https://heapdump.cn/article/1930426 说明 本篇原文来自 LinkedIn 的 Zhenyun Zhuang,原文:Application Pauses When R ...
- [转帖]Perf IPC以及CPU性能
https://plantegg.github.io/2021/05/16/Perf%20IPC%E4%BB%A5%E5%8F%8ACPU%E5%88%A9%E7%94%A8%E7%8E%87/ Pe ...
- Charles的基本使用
今天介绍Charles常用的几个功能 一.map local 1.map local是测试中mock数据常用的功能,首先我们选择需要mock数据的接口,这里以百度为例 抓包抓住该接口后鼠标右击选择ma ...
- 源码学习之Spring容器创建原理
1 前言 众所周知,Spring可以帮我们管理我们需要的bean.在我们需要用到这些bean的时候,可以很方便的获取到它,然后进行一系列的操作.比如,我们定义一个bean MyTestBean pub ...
- elementUI(datepicker)限制日日期的选择
指定起始日期,后选的将会受到先选的限制 参考地址 https://www.jianshu.com/p/c59c8ef6c500 实现方法不难,利用了 change 事件,动态改变 picker-opt ...
- 使用boot.iso镜像安装Oracle Linux 8
本文记录使用boot.iso镜像安装Oracle Linux 8. 镜像下载 Oracle Linux 8 boot镜像可以从这里下载. 安装 Oracle Linux 8 boot镜像安装系统跟使用 ...
- Gin 框架之用户密码加密
目录 一.引入 二.密码加密位置 三.如何加密 四.bcrypt 库加密 4.1 介绍 4.2 优点: 4.3 使用 五.小黄书密码加密实践 一.引入 Gin是一个用Go语言编写的Web框架,而用户密 ...
- Qt 信号重载问题
Qt信号重载问题 例如QComBox的currentIndexChanged信号,包括 void QComboBox::currentIndexChanged(const QString &t ...
- pycharm alt+f7(查找)显示动态用法的结果过多(dynamic usages)
在脚本语言中查找引用时,如果有同名函数,在动态用法那一栏会出现大量的结果,,如何缩小或者动态用法(dynamic usages)的结果呢? 在官网上也有提出了这个问题,但官方没有给出答案issue:P ...