C#編譯多個DLL和EXE文件為一個exe可執行程序
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
去掉生成的 XXX.vshost.exe XXX.vshost.exe.config XXX.vshost.exe.manifest文件。
選中工程右鍵屬性->調試
去掉啟用調試器下的 啟用Visual Studio承載進程勾選:
去掉生成的XXX.pdb文件
1.選中工程右鍵屬性->生成->高級
2.設置高級生成設置中的輸出->調試信息為none
將dll嵌入到程序中
1.將dll包括在項目中在屬性里設置“生成操”為“嵌入的資源”,“復制到輸出目錄”為“不復制”;
2.添加引用,在引用那里右鍵屬性選擇復制到本地為False;
3.在Main函數中訂閱AppDomain.CurrentDomain.AssemblyResolve。
添加代碼如下:
private System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
String resourceName = "應用程序名.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 ,內部需要使用。
去除.config參考
已經做了上面設置后編譯會生成兩個文件XXX.exe 和XXX.exe.config文件 XXX.exe.config文件最好不要刪除。
該文章在 2021/7/1 10:52:27 編輯過 |
關鍵字查詢
相關文章
正在查詢... |