2011-12-30 48 views
0

我有一個應用程序使用/使用來自大量外部.net庫的服務,該庫又調用某些可執行文件。是否有可能將這些集成到一個龐大的可執行文件中,並根據需要將它們從我的應用程序加載到磁盤中?資源浮現在腦海中,但不知道如何完成。如何將外部程序集作爲資源集成到.net可執行文件中

感謝,

+0

程序的通常名稱這是 * SETUP.EXE *。使用安裝項目創建平凡。還解決了將.NET框架嵌入到exe文件中的雞與蛋問題,因此它可以在舊版Windows上運行。 – 2011-12-30 17:49:38

+0

當然不是我在尋找的東西,clickOnce部署已經幫助將所需的程序集部署到目標系統。以下Espen和其他人提供的答案是我的答案,它將實際使用的程序集嵌入到程序的主要可執行程序中。更好的是,Espen下面提供的鏈接與Microsoft的ILMerge有關,這是一種更簡單的方法。 – driverobject 2011-12-31 00:08:41

回答

2

您可以使用ILMerge將所有程序集合併成一個可執行文件。

1

你可以找到CodeProject一個完整的例子。

+0

謝謝Espen,在Microsoft提供的鏈接上也遇到了ILMerge。 – driverobject 2011-12-31 00:09:11

3

您有幾種選擇來做到這一點:

OR

  • 使用像SmartAssembly一些工具(商業)
    it可以嵌入和除其他外合併(無需改變你的源代碼)

OR

  • code that yourself in less than 10 lines(免費的,但最小的源代碼更改)
    標記所有需要的依賴關係爲「嵌入的資源」 - 這樣它們被包含在EXE文件中......你需要設置一個AssemblyResolve處理程序,它在運行時從Resources讀取並將所需的DLL返回到.NET運行時...
相關問題