2022 年 2 月 8 日微软发布了 .NET 6.0.2 版本,之后的 2 月 11 日, Visual Studio 迎来了一波更新。使用新版本的 Visual Studio 发布路遥工具箱之后,在部分老旧 runtime 环境的机器上,路遥工具箱不能正常运行了。报错信息如下:
Application: LuYao.Toolkit.exe CoreCLR Version: 6.0.121.56705 .NET Version: 6.0.1 Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.FileLoadException: Could not load file or assembly 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The located assembly's manifest definition does not match the assembly reference. (0x80131040) File name: 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
通过更新运行时,路遥工具箱又可以重新运行了。这让笔者意识到,似乎是时候将路遥工具箱采用独立部署模式发布。之前拒绝使用独立部署是因为工具箱本体的功能非常小,但随着功能的日益完善加上自然语言处理功能要附带一个很大的资源包,发布独立部署的应用程序就成了一个并不算十分奢侈的行为。
独立部署后文件数量变多了,这造成一些问题:
- 程序入口文件不太好找。
- 目前的检查更新机制因为要对比太多的文件所以效率过低。
针对问题1,可以在软件中加入创建桌面快捷方式功能解决。
针对问题2,可以先对比程序版本再决定是否对比文件内容。
目前,路遥工具箱在启动后大概五秒后会有一个明显的卡顿。这是检查升级造成的。笔者会尽快修复该问题。