ZGGSONG / STranslate

A ready-to-use, ready-to-go translation ocr tool developed by WPF/WPF 开发的一款即开即用、即用即走的翻译、OCR工具
https://stranslate.zggsong.com
MIT License
1.36k stars 82 forks source link

启用单文件发布 #75

Closed emako closed 1 month ago

emako commented 1 month ago

image

希望能启用单文件发布,可以大大减少发包里文件数量

ZGGSONG commented 1 month ago

可以,以前发现过以这种方式打包出现一系列问题,就一直没用。

尝试了一下Fody-Costura 成功打包。

下个版本将以该方式打包发布

emako commented 1 month ago

.NET 8下应该不会出问题吧,我记得AOT才会出问题。 Fody的话能手动剔除非托管库也行。

ZGGSONG commented 1 month ago

.NET 8下应该不会出问题吧,我记得AOT才会出问题。

Fody的话能手动剔除非托管库也行。

试了一下,发现以单文件发布的情况下部分库获取的结果都不太一样,导致一些功能异常

6c2ffe2

emako commented 1 month ago

哪个功能受影响了,我可以测测看,或者手动排除

ZGGSONG commented 1 month ago

哪个功能受影响了,我可以测测看,或者手动排除

蟹蟹,不过我已经修复了

image

(6c2ffe2cddb7eb766d1ad8c04e7aef1e93f51e20)

如果在启用用这个去获取程序集名称单文件发布会得到空值

另外,在文章中发现,如果再开启IncludeAllContentForSelfExtract最后打包出来只有一个exe,但是更多函数会受到影响,并且只是在运行时把原本的文件解压缩运行在用户/appdata/local/tmp/.net/STranslate下,个人觉得相当不优雅

目前以单文件发布后已经大大减少了库文件数量,只略微增加了整包体积,剩下的都是PaddleOcrSharp那边依赖的c++库了

ps:昨天发现PaddleOCRSharp库整整占掉了300MB磁盘空间,不行了,我要把他剥离出去🤣,用户自己下载吧,软件只有30多MB。

emako commented 1 month ago

PaddleOCRSharp大是因为支持多语言的原因? 在https://github.com/babalae/better-genshin-impact 里用也就17MB image

ZGGSONG commented 1 month ago

image

PaddleOOCRSharp

emako commented 1 month ago

模型不一样,https://github.com/sdcb/PaddleSharp

ZGGSONG commented 1 month ago

模型的话我适配了中英日韩也有50MB,周杰这个我集成过,效果一般,并且速度比较慢,https://gitee.com/raoyutian/PaddleOCRSharp 这个项目针对paddleocr做了很多优化,起码比我直接用官方的库去做优化好太多了 就是用的库比较多 比较占空间 但是总体来说还是体验放在第一位

emako commented 1 month ago

我也试试看