• 系列教程
  • 开发文档
abp+vue-element-admin搭建个人网站
abp+vue-element-admin搭建个人网站
.NET Core基于abp vnext 开发个人网站【专题】
.NET Core基于abp vnext 开发个人网站【专题】
.NET/.NET Core面试题
.NET/.NET Core面试题
vs code 编辑器基础使用专题
vs code 编辑器基础使用专题
网站SEO优化专题,让搜索引擎对网站更有亲和力
网站SEO优化专题,让搜索引擎对网站更有亲和力
C# linq如何使用,无法识别方法等问题专场
C# linq如何使用,无法识别方法等问题专场
MySQL常见面试题
MySQL常见面试题
  • MySQL DEFAULT() 函数

    MySQLDEFAULT()函数返回指定的列的默认值。MySQLDEFAULT()函数只能返回那些将列的默认值定义为字面量值的列的默认值,不能返回默认值为表达式的列的默认值。DEFAULT()语法这里是MySQLDEFAULT()函数的语法:DEFAULT(column_name)参数column_

  • ASP.NET Core Web API上传多个文件和JSON数据的方法及代码

    本文主要介绍ASP.NETCoreWebAPI中,同时上传多个文件和JSON数据到控制器(Controller)的方法及使用的代码。

  • MySQL MAKEDATE() 函数

    MySQLMAKEDATE()函数根据年份和一年中天数创建一个日期并返回。MAKEDATE()语法这是MySQLMAKEDATE()函数的语法:MAKEDATE(year,day_of_year)参数year必需的。表示年份的4位数字。day_of_year必需的。一年中的第几天。应该大于0。返回值

  • MySQL JSON_STORAGE_SIZE() 函数

    MySQLJSON_STORAGE_SIZE()函数返回存储一个JSON文档的二进制表示所占用的字节数。JSON_STORAGE_SIZE()语法这里是MySQLJSON_STORAGE_SIZE()的语法:JSON_STORAGE_SIZE(json)参数json必需的。一个JSON文档。它可以是

  • ps怎么操作布尔运算

    1打开ps,点击文件。点击新建,新建画布。2点击左侧矩形工具,画一个矩形。3再按住alt键再画一个矩形。4上方路径操作选择合并形状组件。5这样两个形状就会变成一个整体了。6总结如下。END

  • MySQL YEAR() 函数

    MySQLYEAR()函数提取日期的年份部分并作为数字返回。YEAR()语法这是MySQLYEAR()函数的语法:YEAR(date)参数date必需的。一个日期或者日期时间表达式。返回值MySQLYEAR()函数提取并返回作为日期的年份部分的数字。YEAR()函数的返回值是0或者介于1000到99

  • MySQL JSON_TABLE() 函数

    MySQLJSON_TABLE()函数从一个指定的JSON文档中提取数据并返回一个具有指定列的关系表。JSON_TABLE()语法这里是MySQLJSON_TABLE()的语法:JSON_TABLE(json,pathCOLUMNS(column[,column[,...]]))column:nam

  • 锁定和解锁 MySQL 中的表

    假设在一个银行系统中有这样的逻辑:当用户A从自己的银行账户取出500元时,用户A的余额为原余额减去500。当另一个用户B给用户转入500元时,用户A的余额为原余额加上500。如果这两个操作同时发生,则可能导致用户A的余额是错误的。MySQL的锁就是为了解决这种并发问题的。MySQL支持三种类型的锁:

CSS|HTML   小程序开发   运维部署  开发技巧 推荐阅读

  • .NET(C#)/.NET Core 不安装MS Office实现创建Excel(.XLS和.XLSX)文件 .NET(C#)/.NET Core 不安装MS Office实现创建Excel(.XLS和.XLSX)文件 本文主要介绍.NET(C#)或.NETCore服务端或客户端没安装MSOfficeExcel软件的情况下,创建Excel(.XLS和.XLSX)文件的方法及代码。 文章阅读
  • MySQL FROM_DAYS() 函数 MySQL FROM_DAYS() 函数 MySQLFROM_DAYS()函数将指定的天数转为日期并返回。FROM_DAYS()函数与TO_DAYS()函数是相反的。FROM_DAYS()语法这是MySQLFROM_DAYS()函数的语法:FROM_DAYS(days)参数days必需的。一个表示天数的整数值。返回值MySQLFROM_DA 文章阅读
  • MySQL QUOTE() 函数 MySQL QUOTE() 函数 MySQLQUOTE()函数返回一个用单引号包围的字符串。QUOTE()函数会对\,'符号转义。QUOTE()语法这里是MySQLQUOTE()函数的语法:QUOTE(string)参数string必需的。一个字符串。返回值QUOTE(string)函数返回一个用单引号包围的字符串。当参数为NULL 文章阅读

文章|阅读

  • 1.升级Abp本系列教程是基于AbpV1.0版本,现在Abp版本已经升级至V1.4.2,其中新增了NewFeature,并对Abp做了相应的Enhancements,以及Bugfixs。现在我们就把它升级至最新版本,那如何升级呢?下面就请按我的步骤来将Abp由V1.0升级至V1.4.2。1.1.过滤AbpNuget包VS打开解决方案文件,右键解决方案(不是某个项目),选中【管理解决方案的Nuget程序包(N)...】,如下图1.1。图1.1从图中可以看到,VS智能提示有42个Nuget包可升级,其中有2个Nuget程序包可合并。看到这个,不要犯了强迫症,就全部更新合并。要知道,Nuget程序包是相互依赖的,不一定最新的就能相互兼容。所以这一次,我们保险起见,只升级Abp相关Nuget程序包。选中【更新】,在搜索框中录入Abp进行筛选Abp相关Nuget程序包(一共16个)。1.2.更新Abp相关Nuget包勾选【选择所有的包】,并点击【更新】。VS会去分析解决方案下每个工程的Nuge包的依赖项,如下图1.2。图1.2分析完毕后,弹出分析结果,即每个工程将要更新哪些Nuget包,如图1.3。图1.3从图中可以发现,不仅仅是更新了Nuget包,依赖的相关包也将自动更新。毫无疑问,点击【确定】,紧接着会弹出一个【接受许可证】,如图1.4,点击【我接受】。图1.4观察输出窗口,发现VS已经开始下载要更新的Nuget包并安装,如图1.5。图1.5因为AbpV1.4.2已经支持TypeScript,VS解析到需要安装TypeScript,弹出图1.6所示对话框。图1.6点【是】进入下一步。稍等2分钟,即可成功安装,如图1.7。图1.71.3.编译项目编译项目,报了一堆错误,如图1.8。图1.8第一个错误好解决,是我们扩展AbpSesion出的错误。定位一看,原来是Abp修改了默认IAbpSession的实现类ClaimsAbpSession。我们只需要删除报错的构造方法,按下面方式更改即可:publicAbpSessionExtension(IPrincipalAccessorprincipalAccessor,IMultiTenancyConfigmultiTenancy,ITenantResolvertenantResolver,IAmbientScopeProvider<SessionOverride>sessionOverrideScopeProvider):base(principalAccessor,multiTenancy,tenantResolver,sessionOverrideScopeProvider){}接下来的错误都是Typescript报的错,需要安装下TypeScript。1.4.安装TypeScript依次点击【工具-->扩展和更新-->联机】,在右边搜索框中搜索typescript,并按【最新】排序,搜索结果如图1.9。选择最新版本下载后,关闭VS,安装即可。图1.91.5.运行Web项目重新编译下,Ctrl+F5运行web项目,报错如图2.0。图2.0按照图示所言,修改web.config中的customErrors节点为Off,<customErrorsmode="Off"/>。重新运行Web项目,报错如图2.1。图2.1一看是EntityFramework.DynamicFilters相关错误,这个是一个第三方Nuget包,用来支持EF进行Linq动态过滤的。猜到一种可能是升级后的DynamicFilters删除了图中的扩展方法,导致出错。到abp官方github上的项目上根据关键字搜索Issue,如图2.2。图2.2果然大家跟我们报的一样的错,其中已经给出了解决方案,需要将DynamicFilterNuget包降级到1.4.11。右键解决方案,选择【管理解决方案的Nuget程序包(N)...】,在搜索框中输入【EntityFramework.DynamicFilters】过滤,并选中依赖的项目,在版本下拉框中选择1.4.11,点击安装,如图2.3。图2.3重新编译,再次启动web项目,还是报错,如图2.4。图2.4是不是快崩溃了,别怕,跟着我做,让你气死回生。分别定位到依赖EntityFramework.DynamicFilters组件的项目,修改App.Config或Web.Config,找到以下节点:<dependentAssembly><assemblyIdentityname="EntityFramework.DynamicFilters"publicKeyToken="146423a1b8d60775"culture="neutral"/><bindingRedirectoldVersion="0.0.0.0-2.3.0.0"newVersion="2.3.0.0"/></dependentAssembly>是不是吐血,降级后,VS没有更改依赖组件的版本。修改如下:<dependentAssembly><assemblyIdentityname="EntityFramework.DynamicFilters"publicKeyToken="146423a1b8d60775"culture="neutral"/><bindingRedirectoldVersion="0.0.0.0-1.4.11"newVersion="1.4.11"/></dependentAssembly>修改完毕后,重新编译,启动web项目,这一次终于显示久违的登陆界面,预示着这次升级折腾结束了。有了这次升级折腾经验,下次我想咱就不怕了。2.调试源码按照作者的官方如何调试的文档介绍Debuging,所有官方ASP.NETBoilerplatenuget包都启用了GitLink。这意味着您可以轻松地在项目中调试Abp.*nuget包。但是由于GitLink暂不支持xproj/project.json格式,所以我们暂时用不了GitLink进行调试。这里另外提供一种调试的方式:2.1.下载与本地模板项目版本一致的Abp源码首先去看看Abp的Releases目录,找到对应版本的Sourcecode.zip,下载即可。2.2.还原Nuget包打开下载下来的源码解决方案,右键解决方案,选择还原Nuget包。还原成功后,重新编译项目。然后把需要调试的dll文件拷贝到自己的模板项目中的web项目的Bin目录下。2.3.附加进程调试Ctrl+F5运行web项目,然后在源码对应解决方案,选择【调试-->附加到进程】,从进程列表中,选择【iisexpress.exe】进程附加即可。打个断点,就可以调试了

    .Net

  • 微信小程序的图片上传及图片预览功能

    本文为大家分享微信小程序的图片上传及图片预览功能,如下图所示:需求分析:图片上传可以从本地图库选择也可调用相机进行拍照上传上传完成之后图片可以进行删除、预览等功能图片上传至服务器进行后台调用代码实现:wxml文件<viewclass="recovery_other_line"><viewclass="other_text">上传图片</view><viewwx:if="{{imageList.length}}"class="c

    小程序

  • 青龙面板 企业微信应用推送

    #mermaid-svg-0OOhMjh6Wtew3Yco.label{font-family:'trebuchetms',verdana,arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-0OOhMjh6Wtew3Yco.labeltext{fill:#333}#mermaid-svg-0OOhMjh6Wtew3Yco.noderect,#mermaid-svg-0OOhMjh6Wt

    小程序

  • 2021目标期望没达到预期,今天过后所有的期待与努力无最爱、无例外、往事清零,一起跨入2022,续上昨日的期

    Life

  • 1先用钢笔工具画出路径,右键添加描边。2编辑中点击画笔预设,点击画笔设置,间距改为百分之一。3勾选形状动态,控制改为渐隐,设置为350,这样设置的画笔简直美的不行。END

    开发技巧

2024年 05月07日

周二