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也能使用了
