纸壳CMS v3.5升级.Net 6
ZKEASOFT November 28, 2021
.Net 6
纸壳CMS v3.5最主要的更新就是升级到了最新的.Net 6运行环境,拥有更好的性能,启动更快。在Linux平台部署时可不用安装libgdiplus,部署更方便。并且docker镜像比之前的版本缩小50%。
更新日志:
- 升级运行环境到 .Net 6 #444
- 替换验证码生成方案,Linux上无需安装其它依赖 #445
- footer / header 标签无法绑定数据 bug #446
- 将更新索引任务移到后台任务执行,避免更新时间过长卡死页面
出于安全考虑,企业版的在线编辑模板功能不再支持Razor,默认只支持Liquid模板。
升级指引
如果有添加自己的插件,注意需要修改插件的项目文件。
第一,将TargetFramework
设置为net6.0
,并且添加EnableDynamicLoading
设置,将值设置为true
,如下图所示
第二,将ZKEACMS.csproj的项目引用添加<Private>false</Private>
和<ExcludeAssets>runtime</ExcludeAssets>
,如下图所示:
更新发布程序
新的发布程序适配了.Net6,并且更新了发布插件的逻辑,可以缩短发布时间。可以使用以下命令更新发布程序到最新版本:
dotnet tool update ZKEACMS.Publisher -g
覆盖部署注意事项
首先,请手动升级运行环境:
- Windows:https://www.zkea.net/windows-hosting-bundle-installer
- Linux:https://www.zkea.net/dotnet-runtime-linux
下载后使用tar zxf dotnet.tar.gz -C ~/dotnet
解压到原dotnet安装目录即可。
升级.Net 6之后,Razor视图的预编译不再分开为单独的dll,所以在部署的时候需手动删除项目下的所有的*.Views.dll
文件以免发生一些未知错误。
另外我们建议删除根目录下的所有dll文件和依赖项,3.5版本的依赖项有所变更,这样可清除一些不必要的DLL文件,例如:System.Drawing.Common.dll
。
由于System.Drawing.Common
不再跨平台支持,因此我们移除了对它的依赖,换成了SixLabors.ImageSharp。