2008-09-30 107 views
2

有沒有辦法將所有資源合併到一個單獨的exe文件中,例如app.config和關聯的DLL?.NET Winforms部署

一些應用程序似乎做到了這一點,如eMule。

我不希望我的app.config坐在那裏等待編輯。

感謝

我以前也使用過Thinstall作爲一個應用程序虛擬化熱收縮

回答

5

當然,在Solution Explorer(假設Visual Studio在這裏,因爲你沒有提到)Right-clickProperties你想包括的文件。

應該有一個選項Build Action,你可以設置爲Embedded Resource

2

你當然可以嵌入資源。轉到應用程序屬性並選擇「資源」選項卡。所有添加的資源都將在主要的二進制文件中。

爲什麼不讓app.config等待被編輯?許多專業軟件包都可以自由配置和ini文件進行編輯。

0

如果您不希望更改設置,請將它們移動到代碼而不是配置中。

0

我同意某些用戶。它真的打破了「配置」的目的。只要硬編碼在一個共享一流的呼叫「設置」,所有的信息,然後引用類似

_serverIP = settings.MailServerIP

應該考慮的唯一的項目是helperfiles(其中涉及到的東西,每說)圖像,第三方DLL(我不確定這個)......僅舉幾例。

0

.net app.config文件的問題是修改它們可以改變應用程序的工作方式。

嵌入資源不是問題,它是我擔心的那個特定文件。

+0

然後您可能不明白資源是如何工作的。你可以使用資源來代替你的app.config。就這麼簡單。 – 2008-09-30 05:12:00

1

Dude, 這就是爲什麼它是一個配置文件!它應該可以讓你改變應用程序的工作方式!

如果您擔心您的設置不應該改變,請嘗試其他存儲空間,類別,數據庫,註冊表,平面文件等,或者只保留一個可用於替換已損壞設備的副本。

1

合併的DLL - ILMerge

合併配置文件是不值得的,因爲它應該是的方式來調整應用程序行爲,而無需重新編譯它。如果你不需要,只需硬編碼一切(代碼或EmbeddedResources)。

如果您仍然需要可配置性,則可以將該文件隱藏到用戶配置文件中。

例如,請參閱http://www.codeproject.com/KB/cs/SystemConfiguration.aspx