1.項目 https://github.com/Fody/Costura 2.安裝 Install-Package Costura.Fody -Version 1.6.2 3.反射相關 Assembly.LoadFrom("someLibs.dll").GetType("xxx") 找不到文件 改為 ...
1.項目
https://github.com/Fody/Costura
2.安裝
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文件
我使用的配置大概如下:
- 不包含debug符號
- dll解壓到臨時文件夾,有些功能需要dll物理文件
- 排除幾個上面說的"帶校驗文件刪除自動恢復的DLL"
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<Costura IncludeDebugSymbols='false' CreateTemporaryAssemblies='true'>
<ExcludeAssemblies>
Microsoft.ReportViewer.Common
Microsoft.ReportViewer.DataVisualization
Microsoft.ReportViewer.ProcessingObjectModel
Microsoft.ReportViewer.WinForms
</ExcludeAssemblies>
</Costura>
</Weavers>
參考文章
使用Costura.Fody工具將源DLL合併到目標EXE
https://www.cnblogs.com/cncc/p/7804511.html
關聯項目
FreeSql QQ群:4336577
BA & Blazor QQ群:795206915
Maui Blazor 中文社區 QQ群:645660665
知識共用許可協議
本作品採用 知識共用署名-非商業性使用-相同方式共用 4.0 國際許可協議 進行許可。歡迎轉載、使用、重新發佈,但務必保留文章署名AlexChow(包含鏈接: https://github.com/densen2014 ),不得用於商業目的,基於本文修改後的作品務必以相同的許可發佈。如有任何疑問,請與我聯繫 。
轉載聲明
本文來自博客園,作者:周創琳 AlexChow,轉載請註明原文鏈接:https://www.cnblogs.com/densen2014/p/17182307.html
AlexChow
今日頭條 | 博客園 | 知乎 | Gitee | GitHub