有沒有辦法讓c#程序成爲一個單一的,可執行的文件,人們可以下載和播放,而不是安裝?如何組合一個程序的所有資源?
-3
A
回答
1
你的問題不是很清楚,但我認爲你正在尋找embedded resources。
概述
.NET框架可以封裝文件作爲已編譯的程序集的一部分。這些文件被稱爲嵌入式資源。這些資源與與程序集關聯的.resources和.resx文件完全分離。您可以在運行時通過System.Reflection命名空間的Assembly類訪問這些資源。
將資源嵌入清單的一個主要優點是,因爲這些文件是編譯程序集的一部分,所以用戶不會意外刪除或放錯對應用程序至關重要的文件,這在某些情況下可能會阻止執行程序。這種方法的一個限制是,如果不重新編譯程序,您不能將此文件的任何更改保存到程序集中。因此,只包含在應用程序生命週期中不會更改爲嵌入式資源的文件。
讀取嵌入資源示例代碼:
_assembly = Assembly.GetExecutingAssembly(); _imageStream = _assembly.GetManifestResourceStream("MyNamespace.MyImage.bmp"); _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("MyNamespace.MyTextFile.txt"));
0
檢查項目的bin文件夾,它應該有,你可以只運行一個可執行文件。
1
你可以使用微軟研究院developped的ILMerge tool
多個組件組合成一個。
相關問題
- 1. WinApi - >如何創建一個組合框(沒有資源)
- 2. 如何確保下載所有應用程序緩存資源?
- 3. 如何從silverlight程序集加載所有資源?
- 4. 如何在啓動應用程序時加載所有資源?
- 5. Azure的資源管理器 - 獲取資源組的所有資源
- 6. 如何獲取資源文件中所有資源的名稱
- 7. 如何枚舉一個集合的所有k-組合?
- 8. 「Right」REST URL獲取所有資源中的所有資源?
- 9. 如何獲得一個數組列表的所有組合?
- 10. 查找另一個程序集中的所有嵌入式資源
- 11. 克隆一個資源組
- 12. 如何將所有dll合併爲一個應用程序?
- 13. iPhone/iOS:如何列出資源組中的所有文件?
- 14. csproj:如何獲取所有資源?
- 15. Oauth2如何保護資源所有者?
- 16. 合併應用程序資源 - mac
- 17. 尋找一個應用程序,將下載HTML和所有資源
- 18. 組合優化資源
- 19. 如何從另一個應用程序加載資源?
- 20. 如何從另一個腳本使用資源處理程序
- 21. 如何從另一個應用程序獲取資源?
- 22. 如何釋放進程的所有資源?
- 23. 在調用另一個資源之後將所有資源的頭部廣播
- 24. 如何合併多個資源包?
- 25. OAuth2資源所有者憑據流:如何確保給定的client_id是官方應用程序的一個?
- 26. 如何組織資源在Web應用程序的URL結構
- 27. Java不會釋放應用程序中的所有資源close
- 28. 爲程序提供所有可能的資源
- 29. 檢索程序集中的所有資源管理器
- 30. 如何使用double數組的資源創建wpf組合框?
是的。編譯它。 – mawburn 2012-07-08 19:00:40