ToB企服应用市场:ToB评测及商务社交产业平台

标题: 使用Costura.Fody工具将源DLL合并到目标EXE笔记 [打印本页]

作者: 雁过留声    时间: 2023-3-6 01:23
标题: 使用Costura.Fody工具将源DLL合并到目标EXE笔记
1.项目
https://github.com/Fody/Costura
2.安装
  1. Install-Package Costura.Fody -Version 1.6.2
复制代码
3.反射相关
Assembly.LoadFrom("someLibs.dll").GetType("xxx") 找不到文件
改为 Assembly.Load("someLibs").GetType("xxx")
4.升级包
上一版本升级文件包是零散的dll形式,这次使用了Costura.Fody合并,如果直接覆盖主程序执行文件,运行的时侯还是会优先使用目录里的dll文件,造成还是使用老版本dll, 我的做法是运行程序之前用升级文件包功能执行命令清除无用的dll文件,例如bat文件直接批处理
如果上一版是使用安装程序安装的带校验文件删除自动恢复的那就更糟糕了,必须得编辑配置文件FodyWeavers.xml指明不合并那几个dll文件
我使用的配置大概如下:
  1. <Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
  2.   <Costura IncludeDebugSymbols='false' CreateTemporaryAssemblies='true'>
  3.     <ExcludeAssemblies>
  4.       Microsoft.ReportViewer.Common
  5.       Microsoft.ReportViewer.DataVisualization
  6.       Microsoft.ReportViewer.ProcessingObjectModel
  7.       Microsoft.ReportViewer.WinForms
  8.     </ExcludeAssemblies>
  9.   </Costura>
  10. </Weavers>
复制代码
参考文章
使用Costura.Fody工具将源DLL合并到目标EXE
https://www.cnblogs.com/cncc/p/7804511.html

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4