2016-08-22 235 views
1

我使用C#開發了一個小型項目,並使所有工作都完美無缺。 唯一的問題是,這個應用程序將定期通過電子郵件發送,因此我試圖將所有文件組裝爲一個可執行文件。用戶只需打開並查看一個可執行文件,它將加載所需的文件並啓動應用程序。將文件打包成一個可執行文件(C#)

該應用程序不使用任何外部庫。唯一的.dll文件用於IWshRuntimeLibrary

需要的文件進行組裝:

Files

注意,我知道有些文件可以刪除(svhost等)。但是這不會有幫助,因爲我仍然有多個文件。我也嘗試過一些免費的在線裝配工,但都沒有工作。

+2

[合併程序集]的可能重複(http://stackoverflow.com/questions/3562709/merging-assemblies) –

+1

您只需要這些文件的一小部分選擇。所有'.pdb'和'.vshost'文件不應該分發 –

+0

你有沒有考慮過將這個DLL作爲資源嵌入到你的exe文件中?請參考:http://www.codeproject。com/Articles/528178/Load-DLL-From-Embedded-Resource – pmatyszok

回答

0

在解決方案資源管理器中,選擇參考Interop.IWshRunctime...,然後在屬性窗口中將Embed Interop Types的值更改爲True

這不會爲Interop類型生成單獨的dll。

PS:這不是一個通用的解決方案,但只適用於Interop類型。

0

如果這是不是安全的原因,我想創建的目錄結構如下:

- root 
└ Startup.bat 
└ lib 
    └ DiagnosticsSwitch.exe 
    └ DiagnosticsSwitch.exe.config 
    └ DiagnosticsSwitch.exe.manifest 
    └ Interop.IWshRuntimeLibrary.dll 

而且在Startup.bat裏面

"lib/DiagnosticsSwitch.exe" 
相關問題