我們?cè)谥暗奈恼轮校褂眠^(guò)資源嵌入加AssemblyResolve
事件來(lái)實(shí)現(xiàn)將整個(gè)項(xiàng)目只生成一個(gè)exe文件,也使用過(guò)采用自解壓打包的方式來(lái)實(shí)現(xiàn),后面有粉絲留言說(shuō)試試Costura.Fody
,好吧那就試試,最后發(fā)現(xiàn)確實(shí)好用。具體使用方式如下:
開(kāi)發(fā)環(huán)境:.NET Framework版本:4.8
開(kāi)發(fā)工具:Visual Studio 2022
- 首先新建一個(gè)控制臺(tái)程序,再新建一個(gè)類(lèi)庫(kù)項(xiàng)目,在類(lèi)庫(kù)Class1中實(shí)現(xiàn)Sum方法
public class Class1
{
public int Sum(int a ,int b)
{
return a + b;
}
}
- 然后將類(lèi)庫(kù)引用到控制臺(tái)程序中,在控制臺(tái)程序中進(jìn)行調(diào)用
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(new ClassLibrary1.Class1().Sum(3, 5));
Console.ReadLine();
}
}
- 上面兩步形成依賴(lài)關(guān)系后,就會(huì)生成一個(gè)exe文件一個(gè)dll文件,如圖:
- 接下來(lái)我們開(kāi)始引入
Costura.Fody
,在Nuget搜索并安裝,目前最新版本是5.7.0, - 在安裝的時(shí)候會(huì)看到項(xiàng)目的引用中加了一堆東西,不過(guò)對(duì)生成沒(méi)太大影響(體積還是會(huì)變大)。
- 安裝完成后,重新生成解決方案,會(huì)發(fā)現(xiàn)debug目錄下沒(méi)有dll文件了。只有一個(gè)exe文件,單獨(dú)拿出去發(fā)現(xiàn)也是可以正常運(yùn)行的。
- 最后,不得不說(shuō),這個(gè)方式的確是簡(jiǎn)單方便。
該文章在 2024/4/10 0:43:26 編輯過(guò)