AspNetZero是基于Abp框架开发的商业程序,最近从Abp交流群中得知5.0版本开始加入了防盗版的功能,在vs中也无法使用ctrl+f5进行调试。经过两天的摸索,我发现不能进行调试的原因也是因为aspnetzero加入了防盗版功能。防盗版验证的程序在Abp.AspNetZeroCore这个程序集中,这个程序集是混淆过的。
有网友已经去掉了dll中的授权验证代码,而我的做法更加大胆,我直接删掉了Abp.AspNetZeroCore和Abp.AspNetZeroCore.Web这两个程序集,然后制作了两个功能相同的进行替换(分别为ORS.AspNetZeroCore和ORS.AspNetZeroCore.Web),两个程序集中的类在abp官网模板项目中可以找到。
我使用的版本是aspnetzero的5.0.1 ,其它版本的我没试过,修改前请先备份。
1.从MyCompanyName.AbpZeroTemplate.Core中移除Abp.AspNetZeroCore这个包(项目上点右键->管理Nuget程序包,在界面中切换至已安装,然后找到后卸载)
2.从MyCompanyName.AbpZeroTemplate.Web.Core中移除Abp.AspNetZeroCore.Web这个包(同上图)
3.把ORS.AspNetZeroCore和ORS.AspNetZeroCore.Web两个类库项目加入解决方案
4.MyCompanyName.AbpZeroTemplate.Core项目中引入ORS.AspNetZeroCore
6.MyCompanyName.AbpZeroTemplate.Web.Core项目中引入ORS.AspNetZeroCore.Web
7.对整个解决方案执行查换替找
替换命名空间
Abp.AspNetZeroCore替换为ORS.AspNetZeroCore
替换启动模块中的依赖
typeof(AbpAspNetZeroCoreModule)替换为typeof(AspNetZeroCoreModule)
typeof(AbpAspNetZeroCoreWebModule)替换为typeof(AspNetZeroCoreWebModule)
删除代码中的配置
Configuration.Modules.AspNetZero().LicenseCode = _appConfiguration["AbpZeroLicenseCode"]注释或删除
注释掉app.UseJwtTokenMiddleware("IdentityBearer");
8.大功告成,防盗版被去掉了,然后ctrl+f5也能使用了