C#編譯多個(gè)DLL和EXE文件為一個(gè)exe可執(zhí)行程序
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
去掉生成的 XXX.vshost.exe XXX.vshost.exe.config XXX.vshost.exe.manifest文件。
選中工程右鍵屬性->調(diào)試
去掉啟用調(diào)試器下的 啟用Visual Studio承載進(jìn)程勾選:
去掉生成的XXX.pdb文件
1.選中工程右鍵屬性->生成->高級(jí)
2.設(shè)置高級(jí)生成設(shè)置中的輸出->調(diào)試信息為none
將dll嵌入到程序中
1.將dll包括在項(xiàng)目中在屬性里設(shè)置“生成操”為“嵌入的資源”,“復(fù)制到輸出目錄”為“不復(fù)制”;
2.添加引用,在引用那里右鍵屬性選擇復(fù)制到本地為False;
3.在Main函數(shù)中訂閱AppDomain.CurrentDomain.AssemblyResolve。
添加代碼如下:
private System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
String resourceName = "應(yīng)用程序名.dll所在目錄." + new AssemblyName(args.Name).Name + ".dll";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
{
if (stream == null)
return null;
Byte[] assemblyData = new Byte[stream.Length];
stream.Read(assemblyData, 0, assemblyData.Length);
return Assembly.Load(assemblyData);
}
}
去除輸出目錄.config文件
將工程中App.config文件改為其它名稱,例如:Default.config ,內(nèi)部需要使用。
去除.config參考
已經(jīng)做了上面設(shè)置后編譯會(huì)生成兩個(gè)文件XXX.exe 和XXX.exe.config文件 XXX.exe.config文件最好不要?jiǎng)h除。
該文章在 2021/7/1 10:52:27 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |